Forum: Win32/Win64 API (native code)
by Der schöne Günther,
29. Mär 2016
Richtig, der benutzt auch TThread.Synchronize() oder .Queue() oder was auch immer. Es ging darum, den Thread nicht auf Gedeih und Verderb an irgendein Formular zu ketten sondern von außen festzulegen was geschehen soll. Vielleicht willst du auch nichts anzeigen, sondern nur loggen. Oder beides. Solche Anforderungen ändern sich ständig. Aber deshalb fasst man nicht ständig das Herzstück an.
Forum: Win32/Win64 API (native code)
by Der schöne Günther,
29. Mär 2016
Mit dem Event war gemeint, den Thread nicht von deiner Oberfläche abhängig zu machen. Den Thread sollte es nichts angehen, was wie auf welche Labels kommt, sondern man sollte ihm von außen übergeben, was getan werden soll wenn neue Daten gesammelt wurden. Dann kannst man auch die Oberfläche komplett überarbeiten ohne die Logik im Hintergrund wieder anfassen zu müssen. Oder die Threads in einer...
Forum: Win32/Win64 API (native code)
by Der schöne Günther,
29. Mär 2016
Was er sagt: Synchronize ist ein blockierender Aufruf. Er stellt dem Hauptthread einen Methodenzeiger in einer "Hier, arbeite das ab"-Warteschlange hinten an. Die Reihenfolge könnte man vielleicht mit viel Gefummel verändern, aber ich glaube was du vorhast ist nicht der beste Ansatz.
Der Thread sollte gar nichts mit der Oberfläche zu tun haben sondern nur die jeweils aktuellen Daten...