热情软件屋

 

MSComm控件,在有些计算机上无法运行,原因是“没有许可信息”


编号:QA004644
建立日期: 2002年11月26日 最后修改日期:2002年11月26日
所属类别:

胡风华:
    现在我碰到了一个问题,我用C++Builder6.0编了一个程序,用到了MSComm控件,但是在用InstallSheild生成安装文件后,在有些计算机上无法运行,原因是“没有许可信息,不能在设计状态使用”。你能告诉我怎么解决吗。不胜感激!
    
    

回答:

    ActiveX的许可有两种:设计许可和运行许可。一般来说在IDE中使用设计许可,编译成exe后,运行许可嵌到exe中。如果把控件放在Form上,一般来说运行许可就会被加入exe中。但是很多人在使用MSComm时,使用动态建立控件的方法,如下面的VC++代码:
     CMSComm pComm;
     pComm->Create(NULL, WS_VISIBLE, CRect(0,0,0,0), pWnd, nIDC );
    如果你在BCB中也采用类似的方法建立控件就有问题了,因为这种动态建立的方法需要设计许可,而如果在没有安装过VB和VC的机器上就没有设计许可,所以出现你说的问题。虽然微软有文章介绍任何动态添加运行许可:微软的Knowledge Base的文章:“ 151771 ICREQST.EXE Requesting a License Key from an Object”,不过太麻烦了。所以还是确保你的控件是放在Form,而不使用动态建立的方法。
    另外,Delphi和C++ Builder的免费控件那么多,何必非用MSComm,你还需要额外分发一个.ocx文件。你可以参考QA002595 "在Delphi中怎样控制 Modem"

此问题由李海回答。

 
把这个问题推荐给朋友
   
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio