hi
dp´ler,
habe jetzt mal meine ersten erfahrungen mit
dll´s machen dürfen
den folgenden code (nein! nicht mein eigener) wollte ich aus einer .exe in eine .dll kopieren.
in einer .exe funktioniert er einwandfrei . in der .dll bekomme ich beim aufruf immer die meldung:
"EOleSysError: ungültige Syntax"
die prozedur adduser habe ich exportiert !
hat da jemand vielleicht eine idee ? (ist meine erste .dll
)
THX
Code:
unit main;
interface
function GetObject(name:string): IDispatch;
procedure adduser; stdcall;
implementation
uses
ActiveX,
ActiveDs_TLB,
ComObj;
function GetObject(name:string): IDispatch;
var
Moniker: IMoniker;
Eaten: integer;
BindContext: IBindCtx;
Dispatch: IDispatch;
begin
OleCheck(CreateBindCtx(0, BindContext));
OleCheck(MkParseDisplayName(BindContext,PWideChar(widestring(name)),Eaten,Moniker));
OleCheck(Moniker.BindToObject(BindContext, NIL, IDispatch,Dispatch));
Result := Dispatch;
end;
procedure adduser; stdcall;
var
Usr : IADsUser;
Comp : IADsContainer;
begin
Comp := GetObject('
WinNT://fs1,computer') as IADsContainer;
Usr := Comp.Create('user', 'Novelly') as IADsUser;
Usr.SetInfo;
end;
end.