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?