![]() |
Problem mit Application.ProcessMessages
Hi,
ich habe ine Problem mit Application.ProcessMessages, bei diesem Code funktioniert alles einwandfrei.
Delphi-Quellcode:
while Node <> nil do
begin . . . Try . . if result then Begin Customer.status:= 'aktive'; FormMain.VstCustomer.RepaintNode(Node); End else Begin Customer.status:= 'inaktive'; FormMain.VstCustomer.RepaintNode(Node); End; Finally FormMain.QueryUpdate.Close; End; Node:= FormMain.VstCustomer.GetNext(Node); FormSplash.LabelStatus.Caption.Text:= 'Kunden werden aktualisiert ... ['+IntToSTr(Count)+' / '+IntToSTr(FormMain.VstCustomer.RootNodeCount)+']'; // Hier wird dem Kunden der Fortschritt angezeigt deswegen Application.ProcessMessages; inc(Count); Application.ProcessMessages; end; Wenn ich nun allerdings im VstGetText Event noch diese Zeilen hnzufüge
Delphi-Quellcode:
Doch dan bleibt das Programm direkt nach dem 1. Datensatz hängen.
If Customer.status = 'aktive' Then
Sender.Font.Color:= ClGreen Else Sender.Font.Color:= ClRed; Weiss jemand wieso? |
Re: Problem mit Application.ProcessMessages
Um dem Kunden die Änderung des Labels mitzuteilen, reicht auch ein "FormSplash.LabelStatus.Refresh".
Was dein eigentliches Problem betrifft, halte ich es für keine gute Idee im GetText-Event den Font zu ändern, da dies zu einem Neuzeichnen aller Einträge führt, die wiederum ihr eigenes GetText aufrufen. Nach ausreichend langem Warten sollte sich also auch ein Stack-Überlauf einstellen. |
Re: Problem mit Application.ProcessMessages
Problem wurde in neuen
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:49 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