2017-10-04 42 views
0

我在我的Delphi应用程序中使用com .dll。 为此,我使用regsvr32.exe .dll name命令注册了我的com .dll。 它注册得很好,然后我将此com .dll转换为类型库(.tlb pas文件)。类未在Delphi XE7中注册

所以现在我使用这个.tlb pas文件来传达com对象。 .tlb文件为我提供了与dll进行通信的包装类。

这一切工作正常在我的机器,因为DLL注册在我的机器。 但是当我把我的应用程序放在另一台机器上时,它会抛出类似 'Class not registered'的错误。

如何在另一台机器上注册.dll或perticuler类。 我们无法将手动注册为.dll,就像我在机器上为所有机器注册的一样。

请让我知道我可以如何注册.dll或coclass务实。

+1

安装程序应该这样做。 – Victoria

+0

要么注册课程,要么使用免费注册com –

+0

是的,我使用inno设置安装程序来安装我的delphi应用程序。但我真的不知道如何注册使用inno设置的.dll。如果我在inno中添加这个dll文件,它只会放在perticuler路径上,它不会注册。 – Ankush

回答

0

可以包com.dll与包的安装和安装进度复制com.dll文件 “C:\ Windows \ System32下” 编程

注册它: ShellExecute(handle,'open','C:\ Windows \ system \ Regsvr32.exe','/ S com.dll',nil,SW_SHOWMINIMIZED);