![]() |
image leeren
Hi,
ich lasse in der OnClose-Prozedure eines Forms alle Control leeren.
Delphi-Quellcode:
Jetzt habe ich ein Image auf meiner Form. Dies beinhaltet ein Bild (irgendwie klar, oder?). Nun möchte ich in den OnCLose-Prozedure auch das image leeren, also das das bild weg ist. Mit Destroy mache ich das ganze TImage kaputt! Wie bekommen ich das Bild weg???
memo1.clear;
edit1.clear; //etc.... Greetz |
Re: image leeren
Hai onlinehome,
Zitat:
Delphi-Quellcode:
Was ich aber nicht verstehe: Warum im OnClose des Fensters? Wo ist der Sinn die Inhalte zu löschen wenn das Fenster eh nicht mehr zu sehen ist?
Image1.Picture := nil;
|
Re: image leeren
Wenn das fenster wieder angezeigt wird sollen keine Daten mehr in den Objekten stehen :-)
EDIT: Beinahe vergessen: DANKE :dp: |
Re: image leeren
Aber Vorsicht:
Wenn du die Picture Eigenschaft auf nil setzt, kannst Du auf deren Eigenschaften auch nicht mehr zugreifen!!! Du musst das TPicture-Objekt dann neu erzeugen. Sinnvoller wäre, statt die Komponenten manuell zu löschen, in OnClose des Formulars Action auf caClose zu setzen, womit das Formular aus dem Speicher entfernt und vor der nächsten Benutzung wieder mit Create neu erzeugt werden muss. Dann ist da garantiert nix mehr drin... |
Re: image leeren
:hi: jaenicke!
Herzlich Willkommen in der DP! :thumb: Es gibt auch die Möglichkeit
Delphi-Quellcode:
Aber ich weißt gerade auch nicht, ob man danach auf Picture zugreifen kann. :gruebel:
Image1.Picture.Assign(nil);
|
Re: image leeren
Zitat:
Es sieht zwar so aus, als ob nach der Zuweisung Picture=Nil wäre, dem ist aber nicht so:
Delphi-Quellcode:
Also sind folgende Zeilen gleichwertig:
procedure TImage.SetPicture(Value: TPicture);
begin FPicture.Assign(Value); end;
Delphi-Quellcode:
Völlig verboten wäre folgendes:
Image1.Piture:= nil;
Image1.Picture.Assign(nil);
Delphi-Quellcode:
Image1.Picture.Free; // Objekt wird freigegeben, obwohl TImage davon nichts mitbekommt
// und immer noch eine nun ungültige Referenz auf das Objekt hält |
Re: image leeren
Zitat:
mfG mirage228 |
Re: image leeren
Vielen Dank mirage! :)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00: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