![]() |
Visuelle Komponente freigeben
hi
Auf meinem Form ist ein TEdit und ein TButton. Button bekommt folgende Procedure:
Delphi-Quellcode:
Wenn ich nun den Screenshot anschaue ist das Edit noch auf dem Form! Nach der Procedure ist das Edit aber logischerweise weg. Wann wird denn das Edit auf dem Form gelöscht?
FreeAndNil(edit);
//Mache Screenshot vom Form |
Re: Visuelle Komponente freigeben
Mach mal ein Application.Processmessages dazwischen ;)
Du muss das Form neuzeichnen lassen, damit das Edit verschwindet ... |
Re: Visuelle Komponente freigeben
Wenn du es weghaben willst, mach es doch erst unsichtbar ;)
Delphi-Quellcode:
Ich schätze, das Edit wird gelöscht, sobald deine App die Message kriegt "Edit vom Form löschen". In diesem Fall dürfte auch ein Application.ProcessMessages helfen :)
edit.Visible := False;
FreeAndNil(edit); //Mache Screenshot vom Form |
Re: Visuelle Komponente freigeben
danke @jfheins das ises :thumb:
|
Re: Visuelle Komponente freigeben
Wenn ich so was sehe, dann muß ich einen Kommentar abgeben. 8) Bzw. um folgendes zu klären : warum muß das Edit weg ? Ein Edit1.Hide würde doch ausreichen. Oder besteht die Notwendigkeit es dynamisch zu erzeugen, z.B. weil nicht klar ist, wieviele es im Endeffekt werden ? Die Tatsache, daß ein Programm-globales Application.ProcessMessages gebraucht wird, deutet auch schon auf einen Fehler in der Programmlogik hin. Ich würde mir das mal überlegen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:19 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