Ich habe mir mit TThread einen Thread erzeugt, in welchem ich eine Treiberfunktion aus eine
DLL aufrufe, welche das Empfangen von Daten übernehmen soll. Diese benötigt unter Anderem einen (Empfangs-)Buffer als var Parameter.
Nun habe ich mir ein Feld namens FpRxData erzeugt, in welchem ich die Adresse meines Buffers an mein Objekt übergeben kann. Der Treiberfunktion habe ich das Feld wie folgt übergeben: FpRxData^
Es erscheint zwar keine Fehlermeldung, aber die Treiberfunktion arbeitet bei dieser Vorgehensweise nicht korrekt.
Deswegen bin ich zu dem Schluss gekommen, dass ich nicht umhinkomme, mir einen weiteren Buffer als Feld (FlocalRxData) in meinem Thread Objekt zu erzeugen und anschließend die Daten in den Buffer welcher außerhalb des Objektes liegt zu kopieren. Allerdings weiß ich nicht wie. Ich habe ja nur die Adresse des 'äußeren' Buffers zur Verfügung. Ich habs wie Folgt probiert:
FpData^ := FlocalRxData;
Allerdings bekomme ich eine
Access Violation. Wie bekomme ich die Daten von dem lokalen Buffer in den äußeren Buffer kopiert?
Vielen Dank.