Hi ihr,
ich lerne in der FH C (nicht C++) und bin gerade dabei, ein Programm zu Lernzwecken zu übersetzen. Prinzipiell ist mir klar was das Programm macht, aber mit den internen Strukturen der beiden Compiler bin ich grad nicht so firm. Es geht um Folgendes:
data_buf ist ein Zeiger vom Typ "unsigned char". Das entspräche:
fDataBuffer : PByte;
Nu' is es aber so, dass man auch Felder in C so darstellen kann. Und dann wäre das Äquivalent in Delphi:
fDataBuffer : Array of Byte;
Ich vermute fast, dass es sich um ein Feld handelt, denn im Verlauf des Quelltextes taucht dieses Konstrukt auf:
Code:
ZeroMemory(data_buf, 28);
Somit wird ab der Adresse "data_buf" ein Block von 28 Byte mit Nullen aufgefüllt. Habe ich das so richtig interpretiert? Und wenn ja, brauche ich dann bei Delphi für das dynamische Array SetLength, oder übernimmt das ZeroMemory? Oder kann ich gar mit der allerersten Deklaration als PByte arbeiten?
P.S.: Bei data_buf handelt es sich um einen Parameter für eine Struktur einer Windows
API-Funktion,
DeviceIOControl