Einzelnen Beitrag anzeigen

pmros

Registriert seit: 8. Sep 2015
22 Beiträge
 
#1

Access Violation nach zweiten Aufruf von OpenDialog

  Alt 12. Sep 2015, 17:47
Delphi-Version: 7
Ich habe da ein mir unerklärliches Phänomen.

Ich habe einen Button auf einer Form. Der Button öffnet einen OpenDialog, mit dem ich eine Datei auswählen, die ich dann an ein externes Programm übergebe. Das funktioniert beim ersten Mal. Wenn ich dann aber ein zweites mal auf den Button klicke, bekomme ich eine Access Violation. Das Gleiche auch, wenn ich keine Datei im OpenDialog auswähle, sondern auf Abbrechen drücke.

Hier mein Quelltext.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);

var filename:string;
var ChFilename:string;
begin
openDialog1.Filter :=
    'Xilog Plus Datei|*.pgm|Xilog Plus ASCII Datei|*.xxl';
if OpenDialog1.Execute then
begin
  filename:= OpenDialog1.FileName
end;
filename:=OpenDialog1.FileName;
Chfilename:='"'+filename +'" -s -i';
showmessage(filename);
OpenDialog1.Free;
ShellExecute(Application.Handle, nil, PChar('.\Winxiso.exe'), PChar(Chfilename), nil, SW_SHOW);
SetLength(filename, Length(filename) -3);

If FileExists(filename+'bmp') then begin
Image1.Picture.LoadFromFile(filename+'bmp');
end;
Liegt's an mir?
  Mit Zitat antworten Zitat