Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi MessageDlg lässt keine Nachrichtenverarbeitung zu (https://www.delphipraxis.net/73839-messagedlg-laesst-keine-nachrichtenverarbeitung-zu.html)

PeterPanino 25. Jul 2006 22:03

Re: MessageDlg lässt keine Nachrichtenverarbeitung zu
 
Zitat:

Zitat von Christian Seehase
Moin Peter,

wenn ich mir die Sourcen so ansehe:
Die Items werden erst aktualisiert, wenn FUpdateCount = 0 ist.
Bei BeginUpdate wird der Zähler um eins erhöht, bei EndUpdate um eins verringert.

Da kannst Du Dir ausrechnen, was passiert, wenn die Anzahl nicht stimmt.

Da wäre es doch praktisch, wenn es eine Funktion gäbe, die FUpdateCount wieder auf 0 setzt - unabhängig vom aktuellen Wert von FUpdateCount?

Ich habe mir die Methode Update angesehen, aber die ruft nur eine externe Windows-Funktion auf:

Delphi-Quellcode:
function UpdateWindow; external user32 name 'UpdateWindow';

Muetze1 26. Jul 2006 07:33

Re: MessageDlg lässt keine Nachrichtenverarbeitung zu
 
Zitat:

Zitat von PeterPanino
Ich habe mir die Methode Update angesehen, aber die ruft nur eine externe Windows-Funktion auf:

Delphi-Quellcode:
function UpdateWindow; external user32 name 'UpdateWindow';

Die sorgt nur dafür, dass die WM_PAINT Botschaft versendet und ausgeführt wird. Danach kehrt sie zurück. Alles weitere steht in der MSDN

Flocke 26. Jul 2006 09:20

Re: MessageDlg lässt keine Nachrichtenverarbeitung zu
 
Zitat:

Zitat von PeterPanino
Da wäre es doch praktisch, wenn es eine Funktion gäbe, die FUpdateCount wieder auf 0 setzt - unabhängig vom aktuellen Wert von FUpdateCount?

Normalerweise sollte man BeginUpdate und EndUpdate immer mit einem Ressourcenschutzblock umgeben:
Delphi-Quellcode:
Komponente.BeginUpdate
try
  ...
finally
  Komponente.EndUpdate;
end;
Dann können keine Zählfehler mehr passieren.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:15 Uhr.
Seite 2 von 2     12   

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