如何在vc++中调用delphi编译的DLL

caicai 2000-01-28 12:58:00
...全文
220 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
caicai 2000-01-28
  • 打赏
  • 举报
回复
使用了STDCALL可以解决调用问题,
但是参数为什么无法传入??

急急急急急急急急急急急急
kxy 2000-01-28
  • 打赏
  • 举报
回复
对不起,没有看清楚,
var code : PChar 实际是指针的指针,改成 code : PChar试试.
caicai 2000-01-28
  • 打赏
  • 举报
回复
可否把修改后的代码写以下,先?
为什么说没有分配内存呢?
谢谢。
WHQ 2000-01-28
  • 打赏
  • 举报
回复
干嘛不直接写成:
Convert fMyConvert;
...

fMyConvert("codename");
kxy 2000-01-28
  • 打赏
  • 举报
回复
没有分配内存,不死到是奇怪(开个玩笑:))
caicai 2000-01-28
  • 打赏
  • 举报
回复
delphi中dll声明部分---
library Project1;
uses
SysUtils,
Graphics,
clipbrd,
Dialogs,
procedure Convert(var code:Pchar); stdcall;
begin
showmessage("start");
showmessage(code);
end;
exports
Convert;
end.

C 中调用部分---
typedef void (Convert)(char*);
Convert* pConvert;
HINSTANCE hInstance;
VERIFY(hInstance = ::LoadLibrary("Project1.dll"));
VERIFY(pConvert = (Convert*)::GetProcAddress(hInstance, "Convert"));
(*pConvert)("codename");

在vc中调用
start能显示出来,但是一取code参数值就死。
“unhandled exception in 0007.exe(project1.dll): 0x00000005: Access violation”.
kxy 2000-01-28
  • 打赏
  • 举报
回复
请贴一些代码!

5,379

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧