Zitat von
mschlaufi:
Ich schreibe mir gerade eine
DLL in der ich in einem Ordner den ich mit PChar übergebe alle Dateien mit einer bestimmten Endung zurückgeben möchte, wenn ich sie per PChar mit Trennzeichen zurückgebe dann bekomme ich Fehlermeldungen und verfälschte Ergebnisse.
Ich denke das es was damit zutun hat das das PChar nicht mehr existiert und ich auf eine Speicherleiche zugreife.
Wenn du Daten, aus einer
DLL zurückgeben willst, die nicht mehr in ein Integer oder Extended passen,
dann muss der
Aufrufer den Speicherplatz reservieren.
Dann wird die
DLL-Funktion ausgerufen und diese befüllt den Speicher.
Der Aufrufer kopiert sich die Daten und gibt den reservierten Platz frei.
Als Inputparameter braucht die
DLL-Funktion einen Zeiger auf den Speicher + Länge des reservierten Speichers.
Als Ausgabeparameter gibt die
DLL-Funktion die Länge der gültigen Daten / Strings zurück.