| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1020 人关注过本帖
标题:调用外部DLL出错
取消只看楼主 加入收藏
happynight
Rank: 8Rank: 8
等 级:贵宾
威 望:15
帖 子:807
专家分:760
注 册:2008-4-26
结帖率:87.93%
收藏
已结贴  问题点数:20 回复次数:3 
调用外部DLL出错
两个函数 第一个能成功调用 第二个报错
代码如下:
#include <iostream.h>
#include<windows.h>
void main(void)
{

typedef int (*findEqm)(char *IP, BOOL Flag);                //
typedef int (*DataRtn) (char *desIP, int eqmNo, int bits);  //
findEqm Fun=NULL;
DataRtn Fun2=NULL;

HINSTANCE hDLL;
hDLL=LoadLibrary("SetTimedll.dll");

Fun=(findEqm)GetProcAddress(hDLL,"findEqm");
Fun2=(DataRtn)GetProcAddress(hDLL,"DataRtn");

if(Fun)
{
    int A=Fun("192.168.0.30",1);
    cout<<"结果为"<<A<<endl;
}
if(Fun2)
{   
    int B=Fun2("192.168.0.30",1,6);              //出错"the value of esp was not properly ...."
    cout<<"结果为:"<<B<<endl;
}
FreeLibrary(hDLL);//卸载MyDll.dll文件;
}
搜索更多相关主题的帖子: DLL 
2010-10-26 17:29
happynight
Rank: 8Rank: 8
等 级:贵宾
威 望:15
帖 子:807
专家分:760
注 册:2008-4-26
收藏
得分:0 
那个DLL是一个商业软件的 没有原代码
2010-10-27 08:47
happynight
Rank: 8Rank: 8
等 级:贵宾
威 望:15
帖 子:807
专家分:760
注 册:2008-4-26
收藏
得分:0 
以下是引用yangang2在2010-10-27 13:14:20的发言:

你那个函数是不是传值出了问题,或者加载失败你可以增加语句if(!Fun2) {cout<<"函数加载失败"; return;}来验证
按你的方式加了测试语句 能正常加载函数
2010-10-29 10:37
happynight
Rank: 8Rank: 8
等 级:贵宾
威 望:15
帖 子:807
专家分:760
注 册:2008-4-26
收藏
得分:0 
多谢各位 估计这个函数的调用是不适合用VB来处理的吧 已经放弃了
2010-11-01 13:46
快速回复:调用外部DLL出错
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029198 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved