Einzelnen Beitrag anzeigen

NickelM

Registriert seit: 22. Jul 2007
Ort: Carlsberg
445 Beiträge
 
Delphi 2009 Professional
 
#11

AW: Delphi Var Parameter in C++

  Alt 11. Jul 2011, 17:14
Nun das mit PByte funkt soweit.

Jetzt ist mir ein Phänomen aufgefallen, was ich mir nicht erklären kann.

Folgender Code funkt (bitte auf die Reihenfolge achten):
Code:
ReadNextPackedFileInfo(Test1->FileHandle,Test2);
bytes = new byte[Test2->FileSizeUncompressed];
ReadPackedFileData(Test1->FileHandle,Test2, bytes);

cout << Test2->FileName; //Wird ausgeben ohne Fehler
cout << endl;
Folgender nicht:
Code:
ReadNextPackedFileInfo(Test1->FileHandle,Test2);
cout << Test2->FileName; //Wird ausgegeben aber danach Fehler
cout << endl;

bytes = new byte[Test2->FileSizeUncompressed];
ReadPackedFileData(Test1->FileHandle,Test2, bytes);
Was hat das mit Reihenfolge zutun?
FileName ist vom Typ PAnsiChar(Delphi) char*(C++) und ist in einem record/struct. Der Speicher wird in der DLL bei ReadNextPackedFileInfo initalisiert und von der PackDatei gelesen.

P.S. : Gibt es ne Seite wo es erklärt wird worauf man bei Dlls, wo mit mehren Programmiersprachen kompatible sein sollen, achten soll?
Nickel
"Lebe und denke nicht an morgen"
Zitat aus dem gleichnamigen Bollywoodfilm.

Geändert von NickelM (11. Jul 2011 um 17:18 Uhr)
  Mit Zitat antworten Zitat