AGB  ·  Datenschutz  ·  Impressum  







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

image leeren

Ein Thema von Andreas L. · begonnen am 18. Mai 2004 · letzter Beitrag vom 19. Mai 2004
Antwort Antwort
Andreas L.
(Gast)

n/a Beiträge
 
#1

image leeren

  Alt 18. Mai 2004, 09:07
Hi,
ich lasse in der OnClose-Prozedure eines Forms alle Control leeren.

Delphi-Quellcode:
memo1.clear;
edit1.clear;
//etc....
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???

Greetz
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#2

Re: image leeren

  Alt 18. Mai 2004, 09:21
Hai onlinehome,
Zitat von onlinehome:
... Wie bekommen ich das Bild weg???...
   Image1.Picture := nil; 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?
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Andreas L.
(Gast)

n/a Beiträge
 
#3

Re: image leeren

  Alt 18. Mai 2004, 09:32
Wenn das fenster wieder angezeigt wird sollen keine Daten mehr in den Objekten stehen

EDIT: Beinahe vergessen: DANKE
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.346 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: image leeren

  Alt 19. Mai 2004, 12:48
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...
Sebastian Jänicke
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: image leeren

  Alt 19. Mai 2004, 12:52
jaenicke!

Herzlich Willkommen in der DP!

Es gibt auch die Möglichkeit
Image1.Picture.Assign(nil); Aber ich weißt gerade auch nicht, ob man danach auf Picture zugreifen kann.
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#6

Re: image leeren

  Alt 19. Mai 2004, 12:57
Zitat von jaenicke:
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.
Das ist so nicht ganz richtig
Es sieht zwar so aus, als ob nach der Zuweisung Picture=Nil wäre, dem ist aber nicht so:
Delphi-Quellcode:
procedure TImage.SetPicture(Value: TPicture);
begin
  FPicture.Assign(Value);
end;
Also sind folgende Zeilen gleichwertig:
Delphi-Quellcode:
Image1.Piture:= nil;
Image1.Picture.Assign(nil);
Völlig verboten wäre folgendes:
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
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#7

Re: image leeren

  Alt 19. Mai 2004, 12:59
Zitat von Matze:
jaenicke!

Herzlich Willkommen in der DP!

Es gibt auch die Möglichkeit
Image1.Picture.Assign(nil); Aber ich weißt gerade auch nicht, ob man danach auf Picture zugreifen kann.
Ja auf das Picture Objekt schon, aber es wird das "Graphic" Objekt von TPicture auf NIL gesetzt

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: image leeren

  Alt 19. Mai 2004, 13:00
Vielen Dank mirage!
  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 17:47 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