Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Unterschied bei ProcessMessages Delphi 2005 --> 2009 Pro? (https://www.delphipraxis.net/134247-unterschied-bei-processmessages-delphi-2005-2009-pro.html)

Linkat 18. Mai 2009 14:23


Unterschied bei ProcessMessages Delphi 2005 --> 2009 Pro?
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo,
kürzlich habe ich mein Delphi von 2005 auf 2009 professional umgestellt.

Mir ist folgendes bezüglich Application.ProcessMessages aufgefallen:

In einem Programm, das mit Delphi 2005 pro geschrieben wurde, wird jetzt unter Delphi 2009 pro der Befehl "Application.ProcessMessages" rot unterstrichen (s. beigefügten Bild ProcMess1.png). Im Fenster Struktur (Objektansicht) wird ein Fehler gemeldet: "Undeklarierter Bezeichner 'ProcessMessages' in Zeile xxx" (s. beigefügten Bild ProcMess2.png). Das Programm lässt sich trotz des Fehlers kompilieren. Sonst ist bisher nichts aufgefallen.

Aber: Heute habe ich festgestellt, dass nach dem Aufruf einer Procedure mit größerem Rechen- bzw. Zeitaufwand die anfangs gesetzte Sanduhr (Screen.Cursor:=crHourGlass;) zwischen drin, also vor dem Befehl (Screen.Cursor:=crDefault;) am Ende der Procedure, auf Default umgestellt wird. In der Procedure wird auch Application.ProcessMessages aufgerufen, um einen Fortgang der Auswertung zu sehen.

Kann das mit dem oben geschilderten Problem zusammenhägen? Wie schafft man Abhilfe?

Linkat 20. Mai 2009 14:55

Re: Unterschied bei Process.Messages Delphi 2005 --> 2009
 
kann keiner einen Tipp geben?

Gruß, Linkat

ENatter 16. Jun 2009 11:17

Re: Unterschied bei ProcessMessages Delphi 2005 --> 2009
 
Sorry Leute, ich muss das Thema nochmals ansprechen. Weiss jemand wie es sich damit verhält? Ich hab genau das gleiche Problem!

himitsu 16. Jun 2009 11:48

Re: Unterschied bei ProcessMessages Delphi 2005 --> 2009
 
Zitat:

Zitat von Linkat
wird jetzt unter Delphi 2009 pro der Befehl "Application.ProcessMessages" rot unterstrichen (s. beigefügten Bild ProcMess1.png). Im Fenster Struktur (Objektansicht) wird ein Fehler gemeldet: "Undeklarierter Bezeichner 'ProcessMessages' in Zeile xxx". Das Programm lässt sich trotz des Fehlers kompilieren. Sonst ist bisher nichts aufgefallen.

Das liegt einfach nur an einer "fehlerhaften" Inline-Fehlerprüfung aka Code Insight.
Also es wird zwar ein Fehler angezeigt, welcher aber nicht existiert.

Falls dich diese roten Untersteichungen nerven/irritieren, dann schalt es einfach aus (PS: bei sehr vielen markierten "Fehlern" wird die IDE auch langsamer, wenn man diese sich anzeigen/unterstreichen läßt)

Tools > Optionen... > Editor-Optionen > Code Insight > ...

Und was den Screen.Cursor angeht:
Application.ProcessMessages verarbeitet ja alle anstehenden Windowsnachrichten und damit auch z.B. alle möglichen Ereignisprozeduren (von z.B. TTimer und sonstigen VCL-Komponenten)
Und wenn in irgendeiner der Ereignisprozeduren zufällig auch an Screen.Cursor etwas übergeben wird, dann ändert sich dessen Wert natürlich.

wicht 16. Jun 2009 12:00

Re: Unterschied bei ProcessMessages Delphi 2005 --> 2009
 
Zitat:

Tools > Optionen... > Editor-Optionen > Code Insight > ...
Danke! Mit etwas glück geht dann vielleicht sogar in dieser Klassen-Ansicht die Kategorie "Fehler" weg, die den Klassen-Explorer bei mir absolut unbrauchbar macht, weil die angeblichen Fehler einen Großteil der Liste ausfüllen...

Werde ich später mal direkt testen :thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:10 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