egin
if HResult(EOleSysError(EAbort).ErrorCode) = REGDB_E_CLASSNOTREG then
OleRegister(''D:\Flash.ocx'',1);
end
else
Application.ShowException(EAbort);
end;
//将CheckException方法赋值给系统Application变量,在主Form的OnCreate事件中。
procedure TAutoRegActiveXFrm.FormCreate(Sender: TObject);
var
DemoOcx: Variant; //变量声明
begin
Application.OnException := CheckException;
//是否产生类名称字符串错误
try
DemoOcx := CreateOleObject(''Demo.Demo'');
except
on EAbort:EOleSysError do
if HResult(EAbort.ErrorCode) = CO_E_CLASSSTRING then
begin
if OleRegister(''D:\Flash.ocx'',1) then
DemoOcx := CreateOleObject(''Demo.Demo'')
else
begin
Application.MessageBox(''控件注册失败,
程序将无法正常运行'',PChar(''注册控件''),MB_OK+MB_ICONERROR);
Application.Terminate;
end;
end;
end;
end;
end.