I have an in-process server which checks to see if an out of process
server is registered in the Running Object Table. If not, create the
object and register it. I call GetActiveObject first, then make my check
if I should create one. The problem is GetActiveObject fails when
calling from inside the in-process server. If called from a client
application, it is fine.
Is it possible to have a single instance an out of process server which
can be referenced and used by numerous in-process servers? If so, how?
Here are my interface declarations for my test apps and libraries.
IFooXDll = interface(IDispatch)
['{8CE424A8-0D3F-48FC-9270-E279E88856A6}']
function Get_FooExe: IFooXExe; safecall;
procedure Set_FooExe(const Value: IFooXExe); safecall;
property FooExe: IFooXExe read Get_FooExe write Set_FooExe;
end;
IFooXExe = interface(IDispatch)
['{C681E07B-10E5-4177-8AD4-C834CBE109AF}']
procedure CurrentDateTime(out CurrDateTime: TDateTime); safecall;
end;