Einzelnen Beitrag anzeigen

Julian M.

Registriert seit: 28. Dez 2010
41 Beiträge
 
#1

Bytes aus Pointer in Array of Byte schreiben

  Alt 31. Jan 2019, 18:12
Hallo,
ich bastel seit längerem mal wieder an meinem bass.dll webradio player.
Dort gibt es es Callback-Funktion, diese benutze ich zur Stream-Aufnahme:

procedure DownloadProc(buffer: Pointer; len:DWORD;user:Pointer); stdcall;
Derzeit schreibe ich den Buffer in einen MemoryStream:
MemoryStream.Write(buffer^, len);
Ich würde nun aber gern den Buffer direkt in ein Array of Byte schreiben. Leider gelingt mir das nicht.
Ich gehe davon aus, dass die Variable buffer ein Pointer zu ebenfalls einem Array of Byte ist und len die Anzahl der Bytes.
so ungefähr hatte ich mir das gedacht:
 Fbytearray[0] := (ptr^ as Byte)[0]; Klappt aber natürlich nicht. kann mir Jemand helfen? Würde mich sehr freuen.
LG Julian
P.S. ich benutze Lazarus 1.8.0 / Freepascal.



EDIT:
Ich bin gerade noch auf die Funktion move gestoßen. Compilieren tut er es, obs funktioniert bezweifle ich aber bzw. werde ich jetzt noch testen.
move(ptr, Fbytearray[0],len); EDIT2: Die Variante mit move scheint zu klappen. Falls daran doch etwas falsch ist, bitte ich um Hinweis!

Geändert von Julian M. (31. Jan 2019 um 18:48 Uhr)
  Mit Zitat antworten Zitat