按照borland的说法和Delphi中广告词,Delphi应该能运行大量的VB控件。但事实上我在Delphi6,7中调VB编写的ActiveX  Control遇到了无法解决的问题。  
 
比如VB编写的(最简单的)基于ListView的一个控件,导入Delphi后运行,发现键盘消息被特别过滤了,结果是很可笑的ListView不能通过键盘上下移动光带。测试控件事件,ListView_KeyDown能正常接收到普通的abcd字符,但Up,  Down,  PageUp,  PageDown统统都被处理掉不见了(与之对比,Mouse事件好像还很正常)。  
 
我现在的项目是有大量的VB遗留代码,都用COM  Automation和控件方式作了封装。只希望Delphi能正常调用VB控件。那位Delphi高手遇到过这种情况?在下急切等待您的指点!  
 
急急急  
 
在线等待答案

解决方案 »

  1.   


    以前写过一点,也是activex的,不过没有仔细研究过这个--好象没碰到这个问题。关注
      

  2.   

    你說到的問題, 我記得在<<delphi 深度探索>>里有說到! 具體記得不是很清楚, 你可查查!
      

  3.   

    谢谢 aiirii(ari), 我查了陈省 (华中) 的 delphi 深度探索, 里面没有谈及这个问题。我提的问题很要命啊,如果Delphi无法调VB控件, 两种类型的程序员就无法共同操作一个项目了! 这是一个大问题。
      

  4.   

    谢谢  huangrenguang(湖) , TLB 的导入问题我已注意到。 关键问题是 Delphi 导入的 VB 控件无法正常收到光标键(盘)的消息。 看来 VB 控件实际上是没法在 Delphi 中用。这可是一个大问题,说明 VB 程序员和 Delphi 程序员无法共同操作一个带人机接口的项目!