Einzelnen Beitrag anzeigen

Michael II

Registriert seit: 1. Dez 2012
Ort: CH BE Eriswil
736 Beiträge
 
Delphi 11 Alexandria
 
#16

AW: PaintBox.Paint startet immer wieder neu

  Alt 29. Apr 2021, 17:15
Ohne Code von dir kann nur spekuliert werden. Zeig doch mal ein Minimalbeispiel.

Wie bereits erwähnt wurde: Wenn du den User nicht beim Zeichnen der Polyline zuschauen lassen willst, dann male deine Grafik auf eine Bitmap und gib diese am Ende der Berechnung aus.

Da die Berechnung der Grafik länger dauert: Nutze einen separaten Thread für die Berechnung, damit dein Programm während der Berechnung (zum Beispiel Verschieben des Fensters etc.) reagiert.

Wenn du eine Bitmap verwendest, kannst du im Ereignis "neu malen" (z.Bsp. wenn ein User ein anderes Fenster über dein Fenster zieht - oder wenn dein Fenster über den Bildschirmrand verschoben wird und zurück) nur die bereits berechnete Bitmap neu ausgeben. Sonst musst du wieder alles rechnen und deine Kundinnen und Kunden nutzlos warten lassen...

Wenn du in deine PaintBox ein Image legst und die berechnete Bitmap dort rein legst, dann malt sich das Ding sogar selber.

Wenn du in deinem Programm nach dem Grund (IDE so, nicht IDE anders) suchen willst, dann könntest du zum Beispiel ein TApplicationsEvents auf deine Form setzen und aufzeichnen was unter OnMessage rein kommt. Sehr wahrscheinlich würdest du rasch sehen, was anders ist. (Du könntest nat. auch ein "externes" Tool verwenden.)


In deinem Ereignis Handler Application.ProcessMessages; aufzurufen ist nicht mal für ein Hobby Programm... aber das ist ein zu weites Feld.
Michael Gasser

Geändert von Michael II (29. Apr 2021 um 22:51 Uhr)
  Mit Zitat antworten Zitat