请问delphi能够调用用mfc写的dll么?(20分)

K

kensou

Unregistered / Unconfirmed
GUEST, unregistred user!
可以调用标准Dll,不管是不是用MFC写的。
 
回去看看dll技术的书吧!
 
LoadLibrary();
 
可以的,我写过的,用mfc拷贝文件
 
可以的,只要接口是标准的
 
1、在写dll的时候要用stdcall
2、要写好def
3、delphi中要这样
interface
function yours():pointer;stdcall;
//yours()为dll中的一个函数
……
implementation
function yours():pointer;stdcall;external 'yourdll.dll';

上面的最好可以另外写一个pas文件,即专门准备一个接口单元,然后在
你的project里引用就可以直接调用yours函数了
 
我对dll不是很清楚,去查查有关资料吧
 
谢谢诸位 :)
 
当然可以,DLL是一种标准,不是哪种语言的专利.
 
可以的,你可以看看这个http://bbs.2ccc.com/topic.asp?topicid=21847
 
建议按index调用,我上次按名称调用就是找不到
 
可以调用,但有时类型兼容得不是十分理想。有时需要转换一下,但一般都没问题
 
《Delphi中如何调用 VC++ 创建的动态链接库》肖运勇
用 google 搜索吧。例子很简单。[:)]
 
只要不是 mfc 扩展 dll 。其他类型没问题
 
我也编了一个小程序,调用一个标准的dll,但是导出的是对象,就是说用一个导出函数返回对象指针给delphi的客户程序,客户程序有相应的纯虚类,类方法没有导出。客户程序用指针调用方法,能够访问到指定的函数,但就是无法传递参数,不知道为什么。上面的几位大虾有什么见教?
 
在倒出前加上一个delphi
 
能的,没问题,你参考一下下面这本书的第9章吧
http://lib.cqu.edu.cn/pcbook/FILES/PRO-DEPHI-EXPLOIN.htm
 
To nihil:
最好不要用dll,用ActiveX比较方便,如果用了dll,可以只用其中的函数,导出的复杂对象除了VC程序可以用,其它开发工具一般只能用简单的数据类型和结构体,类好象不可以,可能是因为它的内存布局比较特殊。但是您可以在dll内部生成类实例,让这个对象通过某些个函数为delphi客户程序提供服务。另用共享数据的方法可以保持住对象,延长对象的生命周期。
 
顶部