Einzelnen Beitrag anzeigen

Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.838 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

string / PChar Problem in funktion / dll

  Alt 9. Jul 2004, 13:36
Hallo,

ich habe folgende Definition einer Funktion in einer DLL:
Code:
BOOL __declspec(dllexport) GetUser    (LPSTR sDomain, LPSTR sUser, DWORD nLen);
in Delphi sieht das bei mir so aus:
Delphi-Quellcode:
function GetUser(sDomain: LPSTR; var sUser: LPSTR; var nLen: DWORD):BOOL; stdcall; overload;
...
exports
  GetUser(sDomain: LPSTR; var sUser: LPSTR; var nLen: DWORD) name 'GetUser';
Mein Problem ist die Übergabe eines Strings als LPSTR.

Delphi-Quellcode:
function myMagicFunc(const sDomain: string; var SUser: string):Boolean;
...

function GetUser(sDomain: LPSTR; var sUser: LPSTR; var nLen: DWORD):BOOL;
var
  sD,
  sU: string;
  cU: array of Char;
begin
  sD := sDomain;
  sU := sUser;
  Result := myMagicFunc(sD, sU);

  // string sU in array of char cU umwandeln
  setlength(cU, length(sU));
  StrLCopy(@cU[0],@sU[1],length(cU));

  sUser := PansiChar(cU);
  nLen := Length(cU);

  // Compiler-Hinweis Beseitigung ;-)
  if sUser = sDomain then ;
end;
Das will nicht so wie ich will !!!

Gibt beim Aufruf eine Schutzverletzung.

Weiß jemand Rat ?

[edit]Als offene Frage markiert[/edit]
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat