Сбой отладчика Delphi (OpenDialog + сжатый exe)
Несколько дней назад я столкнулся со странной ошибкой
Всякий раз, когда моя программа (в процессе отладки) пытается открыть сохраненный файл, Delphi 2007 IDE падает с внешним исключением. Я сузил его до любой папки, содержащей exe-файл, расположенный с помощью upx.
Т.е. если все exe в папке нормальные / несжатые, то все хорошо. Но если один из exe-файлов был сжат с помощью upx, то IDE падает, когда opendialog пытается открыть эту папку.
Я подозреваю, что оболочка Windows загружает модуль 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.