VCL 转向 ActiveX过程中碰到的错误(200分)

  • 主题发起人 主题发起人 netbon
  • 开始时间 开始时间
N

netbon

Unregistered / Unconfirmed
GUEST, unregistred user!
我写了一个继承至 TWinControl的VCL,编译并注册成功
然后New 一个ActiveX Control,却发生了
“could not load unit **** symbol information for T***,do you want to find the file your self?”
出来的对话框是让我查找*.dcu,但是我查到vcl对应的dcu文件却继续出现这个错误。
其中的***为 vcl 单元名称
T***为vcl中 类的名称

这个错误如果在转换一个简单的VCL时不会出现,我的vcl引用了很多其他unit的内容。
如果不能重现这个错误的请不用做答。
 
1.确认你注册的ocx文件的位置没有变化
2.生成的类型文件(.tlb)放到delphi/import目录下
 
哦。。不
还没有生成OCX呢。。我在生成 *.tlb文件的时候就出错了,
所以1.OCX根本没有注册
2.还没有生成tlb文件
 
把你所有用到的自定义单元都放到一个目录下,把编译后的dcu文件放到lib目录下,再编译一次,
build all project 一下,试一试,不行的话,mail to me:
swarmmail@163.net,我可以帮你,最好把问题说的再详细一些
 
我的vcl用到了apro和envision的控件,经过我仔细查看,发现apro引用了winproc和wintype2个文件,好像是老版本的delphi的单元,于是我全部改成了windows,重新编译apro的dpk和我自己的dpk,再生成activex就可以了。

我奇怪的是为什么 apro引用了这2个我的机器上并不存在的单元,竟然能编译通过。。、

无论如何,多谢yfdciom了,多谢。分已加上。
 
虽然你的apro引用了两个不存在的单元,但windows中有这两个单元的函数声明,所以
编译时能通过,但链接时由于找不到所引用的单元文件,所以肯定会出错。
编译是检查语法错误,链接是链所用到的其他文件,资源,生成可执行文件。这就是Borland
编译器的绝对特色。
 
后退
顶部