Problems with CoInitialize


2003-09-04 09:15:11 PM
delphi41
Hi,
In my program it is required CoInitializeEx (nil, COINIT_MULTITHREADED).
Otherwise I can not get access to my objects.
if I use CoInitializeEx as show below, then at close my application raised
exception:"EAccessViolation in module ole32.dll at ..."
Original source code(is worked):
program Project1;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1};
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
Modified source code(is crashed):
program Project1;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1},
ActiveX,
Sysutils,
Comobj;
{$R *.res}
begin
if not Succeeded(CoInitializeEx(nil, COINIT_MULTITHREADED)) then begin
raise exception.create('CoInitialize failed.');end;
try
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
CreateComobject(StringToGuid('{39AA9A81-C384-4225-8D32-6A28A668A348}'));
//<<-- Anyone (good) CLID
finally
CoUninitialize;
end;
end.
I can is not correct used CoInitializeEx and CoUninitialize or a problem in
other?
My system:W2k(sp3) & D7.
Thanks.