动态调用dll的问题?

特招 2004-07-22 09:19:42
我的dll 是这样编写的 dll名称为 Project2.dll
#include <vcl.h>
#include <windows.h>
#pragma hdrstop
#pragma argsused
extern "C" __declspec(dllexport) __stdcall int zhuanHuan(int a);
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fwdreason, LPVOID lpvReserved)
{
return 1;
}
extern "C" __declspec(dllexport) __stdcall int zhuanHuan(int a)
{

int b;
b=a+1;
return b;
}
//---------动态调用dll的程序-------------------
在Edit1里输入数字,点击button1,调用Dll,把结果输入到Edit2中
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int i = StrToInt(Edit1->Text);
HINSTANCE ins;
ins = LoadLibrary("Project2.dll");
if (ins == NULL)
{
throw "can't load library!";
}
else
{
FARPROC zhuanHuan;
zhuanHuan = (int (__stdcall*)()) GetProcAddress(ins,"zhuanHuan");
if (zhuanHuan == NULL)
{
FreeLibrary(ins);
throw "can't get address!";
}
else //执行到这里都没问题
{
//在这个地方怎么使用dll中的函数zhuanHuan(int a)
//typedef int (*a) (int *);
//a ai = (a)zhuanHuan;
//ai(i);
//zhuanHuan = (int)zhuanHuan;
Edit2->Text = "s";//IntToStr(ai(i));
}
}
if (!FreeLibrary(ins))
{
throw "can't Free!";
}
}
帮忙指点一下
...全文
191 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
特招 2004-07-22
  • 打赏
  • 举报
回复
恩 改过来就可以运行了
Thank you very very much!
cczlp 2004-07-22
  • 打赏
  • 举报
回复
有两个ZhuangHuan写出zhuangHuan了,你改过就行了, 但不会出现你说的问题. 看看你是不是和我写的一样.
特招 2004-07-22
  • 打赏
  • 举报
回复
http://blog.csdn.net/friecin/archive/2004/06/30/30380.aspx
这个帖子我在编这个之前就看了,有点看不懂 呵呵
特招 2004-07-22
  • 打赏
  • 举报
回复
cczlp() 的不行啊
zhuanHuan = (pZhuanHuan) GetProcAddress(ins,"zhuanHuan");
上面这行出现编译错误
E2034 Cannot convert 'int (__stdcall *)(int)' to 'int (__stdcall *)()'
constantine 2004-07-22
  • 打赏
  • 举报
回复
http://blog.csdn.net/friecin/archive/2004/06/30/30380.aspx
好好看看
cczlp 2004-07-22
  • 打赏
  • 举报
回复
else
{
typedef __stdcall (*pZhuanHuan)(int);
pZhuanHuan ZhuanHuan;

zhuanHuan = (pZhuanHuan) GetProcAddress(ins,"zhuanHuan");
if (zhuanHuan == NULL)
{
FreeLibrary(ins);
throw "can't get address!";
}
else //执行到这里都没问题
{
int a = 10;
ZhuanHuan(a);
}
}

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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