Сосбвенно вызвать получается, но pHost всегда = nil.
Соотвественно на pHost.Start; всё вылетает.
Что я не так делаю?
В проекте использую файл mscoree_TLB.pas полученный через tlbimp
type
TCorBindToRuntimeEx = function(pwszVersion: PWideString; pwszBuildFlavor: PWideString;
startupFlags: DWORD; rclsid: TCLSID; riid: TGUID; var ppv): HRESULT;
...............
procedure TForm1.Button1Click(Sender: TObject);
var
hLib: Cardinal;
CorBindToRuntimeEx: TCorBindToRuntimeEx;
pHost: ICorRuntimeHost;
pAppDomainUnk: IUnknown;
pAppDomain: IUnknown;
hRes: HRESULT;
begin
hLib := LoadLibrary('Mscoree.dll');
@CorBindToRuntimeEx := GetProcAddress(hLib, 'CorBindToRuntimeEx');
if @CorBindToRuntimeEx = nil then
Exit;
hRes := CorBindToRuntimeEx(PWideString(PChar('v1.1.4322')), PWideString(PChar('wks')), 2,
CLASS_CorRuntimeHost, IID_ICorRuntimeHost, pHost);
OleCheck(hRes);
if Succeeded(hRes) then
begin
pHost.Start;
end;
end;