Die
Exception kommt nicht bei Loadfromfile sondern bei einer darauffolgenden WM_Paint an das Control.
Edit1:
Und wen es noch genauer interessiert:
Die
Exception kommt aus der
Unit jpeg und der relevante
ASM-Teil sieht folgendermaßen aus:
Delphi-Quellcode:
asm
...
@
begin
...
mov eax,[ebp+$0c]
mov eax,[eax]
add dword ptr [ebp+$0c],$04
...
mov [eax],bl
//<--Exception
...
dec dword ptr [ebp+$08]
jns @
begin
...
end;
Edit2:
Und wie das ganze jetzt umgehen?
z.B. so:
Delphi-Quellcode:
procedure TForm1.FormDblClick(Sender: TObject);
begin
try
Image1.Picture.LoadFromFile(ExpandFileName('.\20326.jpg'));
Image1.Repaint;
except
on E:EAccessViolation do
ShowMessage('2');
end;
end;
Das ändert aber nichts an dem Fehler im Bild (oder in der
Unit jpeg)
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.