Moin,
folgende Funktion steht im Hauptformular:
Delphi-Quellcode:
function TfrmMain.LoadJPEG(Bildname:String; Ziel: TImage): Boolean;
var
TEMPJPEG: TJPEGImage;
ResStream: TResourceStream;
begin
ResStream := TResourceStream.Create(HInstance, Bildname, 'JPEG');
TEMPJPEG := TJPEGImage.Create;
try
TEMPJPEG.LoadFromStream(ResStream);
Ziel.Picture.Bitmap.Assign(TEMPJPEG);
Result := True;
finally
FreeAndNil(ResStream);
FreeAndNil(TEMPJPEG);
end;
end;
In "frmMain" gibt es dann folgende Prozedur:
Delphi-Quellcode:
procedure TfrmMain.LoadMainForm();
var
Neuesform: TForm;
begin
Neuesform:= TfrmZweitesForm.Create(Self);
LoadJPEG('Main_Hintergrund', frmZweitesForm.imgHintergrund);
try
Neuesform.ShowModal;
finally
Neuesform.Release;
Close;
end;
end;
Gewünschtes Verhalten:
"frmMain" erstellt "frmZweitesForm" zur Laufzeit und holt dann ein JPEG Bild aus dem Res-File und assigned es einem "TImage" auf "frmZweitesForm".
Die Funktion für sich funktioniert prima wenn ich ein TImage auf dem "frmMain" befüllen will...
Sobald aber das andere Form angesprochen wird, gibt EAccessViolation...