我正在尝试在delphi中创建一个Active X
DLL。
我添加了一个TLB文件,其接口带有CoClass
声明,我已在另一个单元中实现了该接口。
DLL
已成功构建并注册。
但是,当我尝试使用DLL
来创建和调用另一个项目中的方法时,它显示错误为未注册的类。
我正在尝试获取有关相同但无法得到答案的一些信息。
这是DLL的接口实现代码:
unit uinfComTestProject;
interface
uses
ComTestProject_TLB;
Type
TComTestProject = class(TInterfacedObject,ITestComCall)
public
procedure CreateAndShowMyData();safecall;
end;
implementation
{ TComTestProject }
uses
ufTestProjectForm;
procedure TComTestProject.CreateAndShowMyData;
var
frm: TForm1;
begin
frm := TForm1.Create(nil);
try
frm.ShowModal();
finally
frm.Free;
end;
//
end;
end.
创建接口实例的方法。
procedure TForm1.Button1Click(Sender: TObject);
var
LCOm: ITestComCall;
begin
LCOm := CoTComTestProject.Create();// getting error at this point
try
LCOm.CreateAndShowMyData;
finally
LCOm := nil;
end;
end;
任何人都可以帮助我吗? 如果在同一个方面犯了任何错误,请告诉我。
提前致谢。
答案 0 :(得分:1)
错误只是意味着您正在注册的COM类尚未在COM注册表中注册。虽然您可能已成功注册DLL,但其自注册未注册COM类。
要理解你的DLL没有注册课程的原因,需要知道你的注册码,但遗憾的是,问题中没有。