频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

如何在Delphi中调用VC6.0开发的COM

来源: 作者: 出处:巧巧读书 2007-10-09 进入讨论组
下一页 1 2 3 

源码下载

  上次写了如何在VC6.0下对Delphi写的COM进行调用,原本想马上写如何在Delphi中调用VC6.0开发的COM时,由于在写事例程序中碰到了个很怪的问题,在我机子上用VC写的接口程序编译能通过。但是调用就会出现问题,(在VC下调用也是一样的出现)。但是用Delphi写的接口程序编译后,不管是在VC下还是在Delphi下调用都没有问题。后来我把VC开发的接口程序编译后,拷贝到其它机子上试,怪事,完全没有问题了。总结后才知道是我机子有点问题。我到现在还没有解决为什么在我的机子上不行,在其它机子上可以。(如果哪位朋友有什么见意,请和我联系,我想这个问题很有可能是因为注册的原因)不多说了。还是说正事吧!

  在VC6.0下开发接口时,会生成一个对应文件名.idl(Interface Definition)接口描述文件。(IDL其语法也很简单,但它在接口的开发中是很重要的。我看过本书,一个对COM很熟的牛XX老外就说,开发COM一切从IDL开始。当然了我们可不是这样的。因为我们不牛XX。所以办不到。还是交给软件写吧!)得到这个IDL文件后,可用IDLtoPas.exe工具(NND,我找这个工具找了半年都有没找到,现在也没有,听说在Delphi6.0中有。所以只有手工把IDL文件用Pascal来描述,也不难,都有是符号的转换工作),把IDL文件转成用Pascal描述的文件。这样我们就可以对其接口进行调用了。当然调用接口时,少不了要接口的.DLL文件和.IDL文件,IDL文件用来生成对应的Pascal文件,生成好后,IDL就可以不要了。而.Dll文件是接口编译后的动态库。这个大家都有知道。好就讲这么多。还是给个小例了吧!

  1、用VC6.0生成一个接口程序,在这里我就不多说,我生成的这个程序只有一个接口叫ITestCom其中有一个方法为:ShowMsg(),显示一个消息对话框。

  2、对其上面生成的程序进行编译,把生成的IDL文件用在Delphi下用Pascal描述:

  VC生成的IDL文件:

  // MaAtl.idl : IDL source for MaAtl.dll
//
// This file will be processed by the MIDL tool to
// produce the type library (MaAtl.tlb) and marshalling code.
import "oaidl.idl";
import "ocidl.idl";
[
 object,
 uuid(78313A6E-FBA7-11D5-8094-00E04C4EA60F),
 dual,
 helpstring("ITestCom Interface"),
 pointer_default(unique)
]
interface ITestCom : IDispatch
{
 [id(1), helpstring("method ShowMsg")] HRESULT ShowMsg();
};
[
 uuid(78313A62-FBA7-11D5-8094-00E04C4EA60F),
 version(1.0),
 helpstring("MaAtl 1.0 Type Library")
]
library MAATLLib
{
 importlib("stdole32.tlb");
 importlib("stdole2.tlb");
[
  uuid(78313A6F-FBA7-11D5-8094-00E04C4EA60F),
  helpstring("TestCom Class")
 ]
 coclass TestCom
 {
  [default] interface ITestCom;
 };
};

URL:http://www.qqread.com/delphi/s354346.html 更多文章 更多内容请看Wlan组网----家庭专题专题,或进入讨论组讨论。
下一页 1 2 3 
收藏此文】【 】【打印】【关闭
较早的文章:在VC 6.0下如何调用Delphi开发的进程内COM

较新的文章:
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章