Autor Beitrag
daywalker0086
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 243


Delphi 2005 Architect
BeitragVerfasst: Mo 13.07.20 12:04 
Hallo Leute,
ich bin ja nicht ganz so firm in Delphi deswegen frag ich mal nach eurer Hilfe.
Ich habe hier Code beispiele aus einem C++ Projekt, würde aber gerne den Code mit Delphi nutzen.
Wie muss denn die Deklaration aussehen für folgende Funktion? Also vor allem die Datentypen:
ausblenden C++-Quelltext
1:
2:
3:
int PASCAL Logon  ( const wchar_t *  user,  
  const wchar_t *  pwd  
 )


Was ich versucht habe:
ausblenden Delphi-Quelltext
1:
2:
function Logon (user,pass: pointer):integer;
external 'sdk.dll';


und dann aufrufen mit:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
procedure TForm1.Button4Click(Sender: TObject);
var
rueckgabe: integer;
user,pwd:string;
begin
user:= 'SDK';
pwd:='passwort';
rueckgabe:= logon(@user,@pwd);


Hat aber nicht geklappt...
OlafSt
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 486
Erhaltene Danke: 99

Win7, Win81, Win10
Tokyo, VS2017
BeitragVerfasst: Mo 13.07.20 12:25 
Nicht Pointer, WideChar. IMHO müsste ab Delphi 2009 auch ein normaler String reichen.

_________________
Lies, was da steht. Denk dann drüber nach. Dann erst fragen.
daywalker0086 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 243


Delphi 2005 Architect
BeitragVerfasst: Di 14.07.20 16:32 
Aber wie muss dann der Aufruf aussehen?
Jetzt bekomm ich ja den Fehler:
inkompatible Typen wideChar und Pointer
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4791
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Di 14.07.20 16:48 
Warum hast du denn noch pointer?

Nimm mal WideString sowohl bei der Funktionsdeklaration als auch für die Aufruf-Parameter (dann ist das unabhängig von der Projektkonfiguration).