Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
Delphi 12 Athens
|
AW: PaintBox.Paint startet immer wieder neu
29. Apr 2021, 18:19
Aber wie gesagt, damit kann es passieren, dass dein Zeichnen (OnPaint) während der Arbeit neu gestartet wird und es so auch in einer Eindlosschleife einem Stacküberlauf endet.
Schlimmer wird es dann, wenn nicht nur mit lokalen Variablen gearbeitet wird, womit es dann zwischen den verschiedenen Ausführungen Überschneidungen geben kann. (z.B. das eingebettete Zeichnen ändert einen globalen Zähler/Liste und wenn es in den ersten Aufruf zurück kommt hat sich dort mitten drin in der Schleife der Zustand geändert und z.B. ein Index oder Abbruchbedingung raucht ab oder wird nie erreicht)
Mit ProcessMessages muß man echt aufpassen, da es Doppelausführungen geben kann.
z.B. in einem Button eine Schleife, die Zahlen in ein Memo ausgibt. und mitten im ProcessMessages kannst du ja nochmals auf den Button drücken, während das erste OnClick noch nicht fertig war.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
|