Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Buffer (Thread Objekt Feld) in einen anderen Buffer kopieren (https://www.delphipraxis.net/113482-buffer-thread-objekt-feld-einen-anderen-buffer-kopieren.html)

Viktorii 8. Mai 2008 14:02


Buffer (Thread Objekt Feld) in einen anderen Buffer kopieren
 
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:

Delphi-Quellcode:
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.

himitsu 8. Mai 2008 14:07

Re: Buffer (Thread Objekt Feld) in einen anderen Buffer kopi
 
CopyMem, CopyMemory, MoveMemory, ....... also irdendwas davon, du willst schließlich den Pufferinhalt kopieren und nicht den Zeiger darauf.

siehe OH


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