Доброго времени дня!
В потоке лежит DLL, из которой нужно вызвать 'DllRegisterServer' НЕ записывая на диск.
Пытаюсь получить hModule из Stream таким способом,но почему-то hModule = 0.
procedure RegisterStreamDLL(Stream: TResourceStream);
type
TDllRegisterServer = function: HResult; stdcall;
var
RegFunc: TDllRegisterServer;
Instance: THandle;
IntStream: IStream;
begin
IntStream := Classes.TStreamAdapter.Create(Stream);
GetHGlobalFromStream(IntStream, Instance); //видимо работает не так
RegFunc := GetProcAddress(Instance, 'DllRegisterServer');
if @RegFunc <> nil then
RegFunc
else
MessageDlg('Error during DllRegisterServer!', mtWarning,[mbYes],0);
end;
Может вместо GetHGlobalFromStream() хэндл потока из интерфэйса IStream надо получать другим способом?Или весь подход неверен?
Спасибо!