AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Image kopieren, funktioniert nicht!

Ein Thema von Hallo_Thomas · begonnen am 14. Mär 2006 · letzter Beitrag vom 16. Mär 2006
Antwort Antwort
Hallo_Thomas

Registriert seit: 18. Apr 2005
Ort: Dresden
405 Beiträge
 
Delphi 2005 Professional
 
#1

Image kopieren, funktioniert nicht!

  Alt 14. Mär 2006, 17:38
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..


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;
Angehängte Dateien
Dateityp: zip kopieren_850.zip (198,8 KB, 13x aufgerufen)
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Image kopieren, funktioniert nicht!

  Alt 14. Mär 2006, 18:12
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:
// Form2.Image1.Picture:=Form3.Image1.Picture; // nicht gut
Form2.Image1.Picture.Assign(Form3.Image1.Picture); // besser
Grüße vom marabu
  Mit Zitat antworten Zitat
Hallo_Thomas

Registriert seit: 18. Apr 2005
Ort: Dresden
405 Beiträge
 
Delphi 2005 Professional
 
#3

Re: Image kopieren, funktioniert nicht!

  Alt 14. Mär 2006, 20:05
@ marabu

Das hatte ich auch schon probiert.
Funktioniert aber nicht, Zugriffsverletzung...........
  Mit Zitat antworten Zitat
Palando

Registriert seit: 5. Mai 2005
72 Beiträge
 
#4

Re: Image kopieren, funktioniert nicht!

  Alt 14. Mär 2006, 20:49
Zitat von marabu:
Delphi-Quellcode:
// Form2.Image1.Picture:=Form3.Image1.Picture; // nicht gut
Form2.Image1.Picture.Assign(Form3.Image1.Picture); // besser
Durch das Untere wird das Bild auch wirklich kopiert und nicht nur der Zeiger?
Das ist sehr gut, du hast der DelphiPraxis gerade einen Thread erspart

Dankesehr!
Markus
  Mit Zitat antworten Zitat
Hallo_Thomas

Registriert seit: 18. Apr 2005
Ort: Dresden
405 Beiträge
 
Delphi 2005 Professional
 
#5

Re: Image kopieren, funktioniert nicht!

  Alt 15. Mär 2006, 23:33
Ich immer noch keinen Plan wie ich das Bild kopieren kann?!?

Irgendwie wills nicht.
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Image kopieren, funktioniert nicht!

  Alt 16. Mär 2006, 00:13
Moin Thomas,

dann prüf' doch mal die den Wert von Picture vor der Zuweisung und lass' Dir den ausgeben.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#7

Re: Image kopieren, funktioniert nicht!

  Alt 16. Mär 2006, 07:37
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
  Mit Zitat antworten Zitat
Hallo_Thomas

Registriert seit: 18. Apr 2005
Ort: Dresden
405 Beiträge
 
Delphi 2005 Professional
 
#8

Re: Image kopieren, funktioniert nicht!

  Alt 16. Mär 2006, 10:07
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?
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#9

Re: Image kopieren, funktioniert nicht!

  Alt 16. Mär 2006, 11:02
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
  Mit Zitat antworten Zitat
NormanNG

Registriert seit: 1. Feb 2006
294 Beiträge
 
Delphi 2007 Professional
 
#10

Re: Image kopieren, funktioniert nicht!

  Alt 16. Mär 2006, 11:06
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.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz