一个dll调用delphi dll的奇葩问题,解决了100分,不够再加,上线500分

sosoyiyi 2014-02-23 09:18:58
现有如下项目,基于chrome开发一个NPAPI的动态库,其中又调用了一个delphi写的动态库,VS2008开发,win32动态库。
出现如下问题,共调用两个方法(delphi),导出方式如下:

function init(HostAddress: pchar; HALength: dword; HostProtocol: pchar; HPLength: dword;
ModuleName: pchar; MNlength: dword; ServiceName: pchar; SNLength: dword;
HostPort: dword; Switch: dword): dword; stdcall;

function UserLogin(userName: pchar; UNLength: dword; passWord: pchar; PSLength: dword): dword; stdcall;

按照要求,调用第一个方法init:
typedef int(__stdcall *init)(char*,int,char*,int,char*,int,char*,int,int,int);
正常
但是接着调用第二方法:
typedef int(__stdcall *UserLogin)(char*, int, char* , int);
产生错误
错误如下

...全文
87 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
sosoyiyi 2014-02-23
  • 打赏
  • 举报
回复
引用 2 楼 focuslight 的回复:
定位问题指针
是方法载入的时候报错,出错的地址一直在变
Aist-memory 2014-02-23
  • 打赏
  • 举报
回复
定位问题指针
sosoyiyi 2014-02-23
  • 打赏
  • 举报
回复
另外补充一点,如果重写一个win32项目(PE),在链接器里选择/NXCOMPAT:NO(与DEP不兼容),能够正常跑通。

65,186

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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