Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#9

AW: DLL - Probs mit Strings

  Alt 3. Okt 2011, 13:50
0..389 = 390, da du wohl immernoch das -1 vergessen hast.
Das wären 1,5*MSDN-Library durchsuchenMAX_PATH, aber wie schon erwähnt, sollte man an vorgegebenen Konstanten nicht rumspielen.

Delphi-Quellcode:
var
  S: TFileStream;
  N: FilterNames;

S := TFileStream.Create('dateiname', fmCreate);

FillChar(N, SizeOf(N), 0);
bdaapiGetDevNameAndFEType(hOpen, N);
S.WriteBuffer(N, SizeOf(N));

FillChar(N, SizeOf(N), 255);
bdaapiGetDevNameAndFEType(hOpen, N);
S.WriteBuffer(N, SizeOf(N));

S.Free;
Und wenn man sich mit garnicht ssicher ist, dann doch eher wie Folgt.
Delphi-Quellcode:
function bdaapiGetDevNameAndFEType(hOpen: THandle; P: Pointer): HRESULT; stdcall;

var
  S: TFileStream;
  B: array[0..8191] of Byte; // 8 KB sollten groß genug sein (selbst 2 KB dürften, laut Spezifikation, ausreichen)

S := TFileStream.Create('dateiname', fmCreate);

FillChar(B, SizeOf(B), 0);
bdaapiGetDevNameAndFEType(hOpen, @B);
S.WriteBuffer(B, SizeOf(B));

FillChar(B, SizeOf(B), 255);
bdaapiGetDevNameAndFEType(hOpen, @B);
S.WriteBuffer(B, SizeOf(B));

S.Free;
Und die Datei hier anhängen.

Ginge natürlich auch einfacher, wenn man die Möglichkeiten des Debuggers nutzen und sich die Variable direkt im Speicher ansieht.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu ( 3. Okt 2011 um 14:00 Uhr)
  Mit Zitat antworten Zitat