Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- library MyLibrary;
- {$mode objfpc}{$H+}
- uses
- Classes, MainUnit;
- exports
- GetCRMUserGuid;
- begin
- end.
- -----------------------------------------------------------------------
- unit MainUnit;
- {$mode objfpc}{$H+}
- interface
- uses
- Classes, SysUtils, Math;
- procedure GetCRMUserGuid(ADBName, AHost, AUser, APass: PChar; var AResult: PChar;
- var AResultLen: Integer); stdcall;
- implementation
- procedure GetCRMUserGuid(ADBName, AHost, AUser, APass: PChar; var AResult: PChar;
- var AResultLen: Integer); stdcall;
- var
- S: string;
- begin
- S := String(ADBName) + String(AHost) + String(AUser) + String(APass);
- AResultLen := Min(AResultLen, Length(S));
- StrPLCopy(AResult, S, AResultLen);
- end;
- end.
- -----------------------------------------------------------------------
- [Setup]
- AppName=My Program
- AppVersion=1.5
- DefaultDirName={pf}\My Program
- [Files]
- Source: "MyLibrary.dll"; Flags: dontcopy
- [Code]
- procedure GetCRMUserGuid(ADBName, AHost, AUser, APass: AnsiString; var AResult: AnsiString; var AResultLen: Integer);
- external 'GetCRMUserGuid@files:mylibrary.dll stdcall';
- procedure InitializeWizard;
- var
- Buffer: AnsiString;
- BufferLen: Integer;
- begin
- BufferLen := 255;
- SetLength(Buffer, BufferLen);
- GetCRMUserGuid('DBName', 'Host', 'User', 'Pass', Buffer, BufferLen);
- MsgBox('We received ' + IntToStr(BufferLen) + ' chars. Here they are: ' + Buffer, mbInformation, MB_OK);
- end;
Advertisement
Add Comment
Please, Sign In to add comment