前几天我遇到了一个奇怪的错误
每当我的程序(正在调试中)试图打开一个saveialog时,Delphi 2007 IDE会因外部异常而崩溃。我把它缩小到包含由upx压缩的exe的任何文件夹。
即。如果文件夹中的所有exe都是正常/未压缩的,那么一切都很好。但是如果其中一个exe文件已经使用upx压缩,那么当opendialog尝试打开该文件夹时IDE会崩溃。
我怀疑Windows shell加载exe模块(例如显示其图标),IDE注意到并尝试加载该exe的调试信息并在此时崩溃。
有关如何解决此问题的任何想法?我的测试程序已附上
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm1 = class(TForm)
SaveDialog1: TSaveDialog;
procedure FormClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormClick(Sender: TObject);
begin
SaveDialog1.Execute()
end;
end.