Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Timage Komponente löschen (https://www.delphipraxis.net/177835-timage-komponente-loeschen.html)

Natcree 29. Nov 2013 20:35

Timage Komponente löschen
 
Hallo ich will eine während der Laufzeit erstellte Komponente löschen.

habe es mit .free versucht geht nicht. So habe ich Sie erstellt

Delphi-Quellcode:
image1 := TImage.Create(Form1);
        image1.Visible := true;
        image1.Top := 100;
        image1.Left := 100;
        image1.Width := 100;
        image1.Height:= 100;
        image1.Name := 'Image1';
        image1.Parent := Form1;
        image1.Picture.LoadFromFile('figur01.bmp');
        image1.Stretch:=true;
weiss jemand noch rat?

Natcree 29. Nov 2013 20:47

AW: Timage Komponente löschen
 
Hat sich erledigt. hatt die Variable image1:Timage lokal gesetzt. Mit var auf global ging es mit free

Sir Rufo 29. Nov 2013 21:31

AW: Timage Komponente löschen
 
Zitat:

Zitat von Natcree (Beitrag 1237965)
Hat sich erledigt. hatt die Variable image1:Timage lokal gesetzt. Mit var auf global ging es mit free

Ja, immer globale Variablen benutzen, das ist die Lösung :wall:

Christian Seehase 30. Nov 2013 12:14

AW: Timage Komponente löschen
 
Moin Natcree,

worauf Sir Rufo raus wollte:
Man sollte möglichst keine globalen Variablen verwenden, weil man damit Gefahr läuft die Übersicht zu verlieren wo daran Veränderungen vorgenommen werden.

In Deinem Fall wäre es wohl besser die Image-Variable als privates Feld des Formulares Form1 zu deklarieren

Delphi-Quellcode:
type
  TForm1 = class(TForm)
  // Hier stehen immer die Felder und Ereignismethoden des Formulares
  private
    FImage : TImage; // Hier wäre das Image gut untergebracht.
  public
  end;
Da Du allerdings sowieso Form1 als Owner bei der Erstellung des Images angegeben hast könntest Du auf das manuelle Freigeben des Images verzichten. Das passiert bei der Freigabe des Formulares dann sowieso.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:47 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-2025 by Thomas Breitkreuz