AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung Form.Resize während einem Synchronize / Thread-Handling
Thema durchsuchen
Ansicht
Themen-Optionen

Form.Resize während einem Synchronize / Thread-Handling

Offene Frage von "himitsu"
Ein Thema von swestner · begonnen am 30. Aug 2022 · letzter Beitrag vom 30. Aug 2022
 
swestner

Registriert seit: 31. Aug 2012
Ort: Hallstadt
85 Beiträge
 
Delphi 10.4 Sydney
 
#1

Form.Resize während einem Synchronize / Thread-Handling

  Alt 30. Aug 2022, 00:31
Hallo,

ich habe ein etwas kniffeliges Problem und vielleicht hat jemand eine Idee, wie das zu lösen ist.

Plattfrom: Delphi 11.1, Firemonkey unter Windows

Programm startet und zeigt ein Form an.
Jetzt startet ein Thread, dieser berechnet aus einer Menge Daten ein Grafik.
Wenn der Thread die Grafik fertig gerechnet hat, ruft er einen Callback auf.
In diesem Callback mache ich ein Synchronize und rendere damit dann im Hauptthread die berechnete Grafik auf's Form.

Das funktioniert soweit.

Allerdings kann der Benutzer das Hauptform auch vergrößern.

Wenn das Form z. B. 600 Pixel breit und 400 Pixel hoch ist dann wird die Grafik auf diese Größe ins Form gerendert.

Jetzt zieht der Benutzer das Form größer, dann stoppe ich den Hintergrundthread (eine laufende Berechnung ist ja jetzt hinfällig) und starte den mit den neuen Form-Größen neu.

Jetzt kommt das Problem:
Der Thread ist fertig mit rendern und ruft den Callback auf.
Im Callback rufe ich Synchronize auf und zeichne die Grafik auf's Form.
Genau in dem Moment des Zeichnens zieht der Benutzer aber das Form größer.
Im Resize versuche ich jetzt den Hintergrundthread zu stoppen, was aber nicht klappt, da der ja im Callback im Synchronize die Grafik neu zeichnet.

Wie löst man sowas?
Und warum kann ich überhaupt das Form resizen wenn die Applikation durch das Abarbeiten des Callbacks eigentlich gar nicht im On-Idle ist?

Grüße

Stefan
Stefan Westner
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:01 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-2025 by Thomas Breitkreuz