Delphi与VC共享接口和对象,互相通信、互相操作实例分享

迫于某些原因,我的插件不但不用其他开发工具来完成,比如 VC。
于是有个大问题需
【菜科解读】
我经常会用 Delphi 写一些工具和应用,为了扩展方便,大部分都会做成插件形式。
迫于某些原因,我的插件不但不用其他开发工具来完成,比如 VC。
于是有个大问题需要解决:如何让 D 和 VC 互相通信、互相操作。
最普遍的做法,无非是定义一些方法,VC 写 Dll 导出这些方法,D 载入 Dll 调用。
但问题是稍大点规模的应用,这种方式非常麻烦,也不够直观。
于是花了点时间研究 D 和 VC 之间共享接口和对象的一些方法,现将要点共享发布出来,希望对大家有用。
基础事项:
在 D 和 VC 中,要共享的接口、对象中的方法的调用约定必须为 stdcall
1. class 的 使用
Delphi 和 VC 中都使用抽象类,将方法都定义为纯虚方法,成员的声明顺序请保持一致。
需要注意的是 Delphi 的类方法。
一般的静态类方法在 VC 中直接跳过即可,虚的类方法在 VC 定义为一般的虚函数即可。
D:TTestObj=classpublicclassprocedureFoo;procedureUpdate(Intf:ITestIntf);virtual;stdcall;abstract;procedureFree;virtual;stdcall;abstract;end;
VC:classITestObj{public:virtualvoid__stdcallUpdate(ITestIntf*pIntf)=0;virtualvoid__stdcallFree()=0;};
2. 接口
D 的 IInterface / IUnknown,在 VC 中定义为interface /*class*/ : public IUnknown,成员的声明顺序请保持一致
注意,D 中接口支持属性定义,但是 VC 不支持,因此 D 接口中的属性定义请放在声明的最后
如果接口的实例化是在 VC 中,有点有意思的小细节要注意,详见代码的注释
D:
ITestIntf=interface['{781E6521-8768-4ADA-B843-445ECE548C27}']functionGetText:PAnsiChar;stdcall;procedureSetText(AValue:PAnsiChar);stdcall;functionGetValue:Integer;stdcall;procedureSetValue(AValue:Integer);stdcall;propertyText:PAnsiCharreadGetTextwriteSetText;propertyValue:IntegerreadGetValuewriteSetValue;end;
VC:
interfaceDECLSPEC_UUID("781E6521-8768-4ADA-B843-445ECE548C27")ITestIntf:publicIUnknown{public:virtualLPCSTR__stdcallGetText()=0;virtualvoid__stdcallSetText(LPCSTRlpszMsg)=0;virtualint__stdcallGetValue()=0;virtualvoid__stdcallSetValue(intvalue)=0;};
示例代码中,在 D 里实现了一个接口提供给 VC DLL,在 VC DLL 里实现了一个接口和一个类提供给 D 里使用。
代码下载
Delphi,与,共享,接口,和,对象,互相,通信,、,我,win7专业版激活工具与使用介绍
win7专业版是我们经常使用的win7系统,win7系统出现难以解决的问题后往往选择重装系统,重新安装好win7专业版系统后通常都需要激活系统,用win7专业版激活工具激活win7专业版系统是大家常常选择的。
PCSKY 激活工具是激活win7专业版系统成功率非常高的一个激活工具,一键操作即可激活win7专业版系统。
下载地址:点击下载 win7专业版激活工具使用方法: 1.点击上面的下载链接下载好后右键解压到桌面,然后(右键以管理员身份)运行软件。
win7专业版激活工具截图(1) 2.弹出的界面点击确定。
win7专业版激活工具截图(2) 3.如下图输入数字1按回车键。
win7专业版激活工具截图(3) 4.正在激活系统,激活完成后重启一下电脑即可。
win7专业版激活工具截图(4)win7专业版激活工具截图(5) 通过上面的操作即可激活win7专业版系统,此win7专业版系统激活工具不仅可以激活win7专业版也能激活其他版本的win7系统。
win7激活工具,win7专业版激活工具,专业版激活,wi
Win7搜索文件的技巧与方法
工具原料:品牌型号:戴尔XPS 15操作系统版本:Windows 7软件版本:Windows 7 Professional一、快速搜索1、使用快捷键Win + F打开文件搜索功能。
2、在搜索框中输入文件名或关键词,系统将自动搜索匹配的文件。
3、通过点击搜索结果中的文件,可以直接打开或定位到文件所在位置。
二、高级搜索1、在文件夹中点击“搜索库”按钮,选择“搜索工具”下的“高级搜索”。
2、在高级搜索窗口中,可以设置更多搜索条件,如文件类型、修改日期等。
3、点击“搜索”按钮,系统将根据设置的条件进行搜索,并显示匹配的文件。
三、使用通配符1、在搜索框中使用通配符进行模糊搜索。
2、使用星号(*)代表任意字符,使用问号(?)代表单个字符。
3、例如,搜索*.docx将匹配所有扩展名为docx的文件。
四、搜索过滤1、在搜索结果页面,可以使用过滤器对搜索结果进行筛选。
2、通过点击“筛选”按钮,可以选择文件类型、大小、修改日期等进行过滤。
3、系统将根据选择的过滤条件重新显示符合条件的搜索结果。
总结:通过本文介绍的Win7搜索文件的技巧与方法,可以帮助用户快速准确地找到所需的文件。
使用快速搜索和高级搜索功能可以提高搜索效率,而使用通配符和搜索过滤功能可以进一步精确搜索结果。
因此,掌握这些技巧与方法对于提升工作效率和提高用户体验具有重要意义。
win7搜索文件, win7搜索, windows 7查找文件