Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi TComPort innerhalb TThread erstellen und verwenden (https://www.delphipraxis.net/118999-tcomport-innerhalb-tthread-erstellen-und-verwenden.html)

Patrick 19. Aug 2008 10:51


TComPort innerhalb TThread erstellen und verwenden
 
Hallo,

Ich habe folgendes Problem:
Ich habe einen SubThread (TThread), der damit beschäftigt ist daten über den TComPort zu senden. Da der TComPort aber auf der Form sitzt muss ich bei jedem Senden ein "Synchronize" verwenden. Es ist aber von großer Wichtigkeit, dass gewisse Timings eingehalten werden, also dass der SubThread in genauen Zeitintervallen (20msek) sendet. das Verwenden von Synchronize jedoch zerhaut mir dieses Timing auf bis zu 100msek.

Mein Ansatz war, dass ich den Comport nicht auf dir Form setze, sondern ihn in den SubThread integriere, und dort auch erstelle. Jetzt erwartet die Create Funktion allerdings, wie jede VCL Componente, einen Owner vom Typ TComponent. Aber diesen kann ich ihr ja nun nicht geben, weil ich dann wieder Synchronize verwenden müsste...

Hat vielleicht einer von euch ne Idee, wie ich eines der Probleme lösen kann?

Bernhard Geyer 19. Aug 2008 10:53

Re: TComPort innerhalb TThread erstellen und verwenden
 
Einfach keinen owner (nil) angeben. ist primär für die automatische Freigabe über den Owner relevant.

Die Frage ist aber ob deine verwendete Komponente in einem Thread überhaupt funktionsfähig ist. Teilweise wird die Kommunikation der Komponenten über Windows-Mesages abgearbeitet.

Patrick 19. Aug 2008 15:53

Re: TComPort innerhalb TThread erstellen und verwenden
 
Danke, das funktioniert!

Jetzt bekomme ich zwar ne Speicherverletzung, wenn ich die Einstellungen au den INI Datei lade, aber das Problem kann ich umgehen! Ansonsten funktioniert es super!


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