Da es kein CONST gibt, waren es bereits kopienen, allergings mehr als (mit Referenzzählung)
Delphi-Quellcode:
User := aUser;
Pass := aPass;
Host := aHost;
Port := aPort;
Dein
+ ''
entspricht quasi Folgendem (
UniqueString)
Delphi-Quellcode:
function gwInit( aUser, aPass, aHost, aPort : string ) : integer;
begin
UniqueString(aUser);
UniqueString(aPass);
UniqueString(aHost);
UniqueString(aPort);
Wirklich Variant?
Warum nicht OleVariant?
Ich weiß aber nicht, wie es bei den Parametern des gwInit aussieht, also welcher Typ es genau ist.
Im Variant können delphi-eigene Typen enthalten sein, welche fremde Sprachen nicht verstehen, wie z.B. AnsiString und UnicodeString.
Im OleVariant gibt es nur
OLE-kompatible Typen, wie z.B. WideString.
vieleicht mal so probieren
Delphi-Quellcode:
var vUser, vHost, vPass: OleVariant; // oder WideString
vUser := User;
vHost := '/ipa-' + Host + ' /ipp-' + Port;
vPass := Pass;
GwRAobj := GWobj.Login(vUser, vHost, vPass, 1);
// oder
GwRAobj := GWobj.Login(OleVariant(User), OleVariant('/ipa-' + Host + ' /ipp-' + Port), OleVariant(Pass), 1);
// oder
GwRAobj := GWobj.Login(WideString(User), WideString('/ipa-' + Host + ' /ipp-' + Port), WideString(Pass), 1);