![]() |
Image kopieren, funktioniert nicht!
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo ich wollte ein Image in ein anderes kopieren, innerhalb eines Formular funktioniert es, aber ich versuh dies von einem sog. Splashscreen , irgendwie will das nicht, Speicherzugriffsverletzung..
Delphi-Quellcode:
Form2.Image1.Picture:=Form3.Image1.Picture;
Delphi-Quellcode:
begin
Form3 := TForm3.Create(Application); try Form3.Show; Application.Initialize; Form3.Update; Sleep(3000); Application.CreateForm(TForm1, Form1); Application.CreateForm(TForm2, Form2); Form3.Hide; finally Form3.Free; end; Application.Run; |
Re: Image kopieren, funktioniert nicht!
Hallo Thomas,
ohne Bezug zum Rest deines Beitrags - so wie du es zeigst kopierst du nur einen Zeiger. Wenn Form3 zerstört wird, dann wird der Zeiger ungültig:
Delphi-Quellcode:
Grüße vom marabu
// Form2.Image1.Picture:=Form3.Image1.Picture; // nicht gut
Form2.Image1.Picture.Assign(Form3.Image1.Picture); // besser |
Re: Image kopieren, funktioniert nicht!
@ marabu
Das hatte ich auch schon probiert. Funktioniert aber nicht, Zugriffsverletzung........... |
Re: Image kopieren, funktioniert nicht!
Zitat:
Das ist sehr gut, du hast der DelphiPraxis gerade einen Thread erspart :D Dankesehr! |
Re: Image kopieren, funktioniert nicht!
Ich immer noch keinen Plan wie ich das Bild kopieren kann?!?
Irgendwie wills nicht. |
Re: Image kopieren, funktioniert nicht!
Moin Thomas,
dann prüf' doch mal die den Wert von Picture vor der Zuweisung und lass' Dir den ausgeben. |
Re: Image kopieren, funktioniert nicht!
Hallo Thomas,
Du greifst auf eine Komponente von Form3 zu, nachdem Du Form3 freigegeben hast! Das Anzeigen von Form2 (und damit der OnShow-Aufruf) wird erst in Application.Run durchgeführt. Gruß Hawkeye |
Re: Image kopieren, funktioniert nicht!
Gibt es da eine Möglichkeit, die Form3 kurzfristig aufzurufen und sie nach dem kopieren wieder zu schliessen?So das der Speicher nicht belastet wird?
|
Re: Image kopieren, funktioniert nicht!
Nur so eine Idee:
Könntest Du das Bild nicht mittels der Zwischenablage übertragen, d.h. mit den Routinen SaveToClipboardFormat und LoadFromClipboardFormat von TGraphic? Eine andere Möglichkeit wäre ein TMemoryStream und dessen Methoden SaveToStream und LoadFromStream. Ein Beispiel habe ich leider nicht... Gruß Hawkeye |
Re: Image kopieren, funktioniert nicht!
Hi,
warum legst du nicht eine "gemeinsame" Unit an, in der auch das Image liegt. Diese Unit dann im Splash als auch in der anderen Unit verwenden. Du kasnnt ja im OnCreate das Image aus der gemeinsamen Unit zuweisen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz