To :why_wxb2002(bobo) extern "C" __declspec(dllexport) int Add(int a,int b) 给VB用时要声明为_stdcall yes.应该写:extern "C" __declspec(dllexport) int _stdcall Add(int a,int b)
to :darknessun(darkness) depends怎么用法? to :why_wxb2002(bobo) 如果要改成_stdcall,怎么个改法
to :darknessun(darkness) extern "C" __declspec(dllexport) int _stdcall Add(int a,int b),这里面的内容是不是一个都不能少
老大,这样该 vc 的dll int WINAPI DialConnect() { MessageBox(NULL,"99","00",MB_OK); return 0; } vc的.def ; vctest.def : Declares the module parameters for the DLL.LIBRARY "vctest" DESCRIPTION 'vctest Windows Dynamic Link Library'EXPORTS ; Explicit exports can go here DialConnect vb的模块 Attribute VB_Name = "Module1" Public Declare Function DialConnect Lib "VCtest.dll" () As Long vb的调用 DialConnect
depends在visual studio的tool里,从开始菜单的VS里找。:)
写成: extern "C" int EXPORT _stdcall Add(int a,int b)
to :darknessun(darkness) 我打开以后,里面的内容很乱,都不知道该怎么看,能否给个提示?
错误代码为49
DLL调用约定错误
然后就返回到VB中调用函数的地方
或者写了还不行,那你在动态库的工程里加一个.def文件来EXPORT所有你想让外部调用的接口。
extern "C"
long EXPORT _stdcall funName(int i,LPSTR str);
然后在VB中声明一下就可以了.
方便的话,把vb程序和动态库发给我,我帮你看看吧。
[email protected]
声明是这么写的,不过我没有加入.def文件,难道一定要在DLL中加入.def文件吗?
动态链接库是自己写的
#include "stdafx.h"BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{ switch(ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
{
break;
}
case DLL_PROCESS_DETACH:
{
break;
}
} return TRUE;
}
extern "C" __declspec(dllexport) int Add(int a,int b)
{
return (a+b);
}这就是程序的主要部分了
LPSTR是MFC中的类别吧,如果在VB中用不一定行的
我来试一下,我就是讨厌.def文件,才不用它的
因为考虑到多态性,所以为了保险起见,还是写个.def文件来规范其对外接口。
给VB用时要声明为_stdcall
你只要在你的工程里加个.def的文件
然后写上:EXPORTS
Add就可以了。:)
extern "C" __declspec(dllexport) int Add(int a,int b)
给VB用时要声明为_stdcall yes.应该写:extern "C" __declspec(dllexport) int _stdcall Add(int a,int b)
depends怎么用法?
to :why_wxb2002(bobo)
如果要改成_stdcall,怎么个改法
extern "C" __declspec(dllexport) int _stdcall Add(int a,int b),这里面的内容是不是一个都不能少
vc 的dll
int WINAPI DialConnect()
{
MessageBox(NULL,"99","00",MB_OK);
return 0;
}
vc的.def
; vctest.def : Declares the module parameters for the DLL.LIBRARY "vctest"
DESCRIPTION 'vctest Windows Dynamic Link Library'EXPORTS
; Explicit exports can go here
DialConnect
vb的模块
Attribute VB_Name = "Module1"
Public Declare Function DialConnect Lib "VCtest.dll" () As Long
vb的调用
DialConnect
extern "C" int EXPORT _stdcall Add(int a,int b)
我打开以后,里面的内容很乱,都不知道该怎么看,能否给个提示?
这个EXPORT放int前int后应该没关系啊。
怎么在VB中调用函数,打空格没有提示,一定要先输入括号才有参数提示?
你看看函数名是不是叫Add?
error C2146: syntax error : missing ';' before identifier 'Add'
最新版本:0.9Beta
软件性质:互联网工具
使用平台:win9x win2000 winXP winNT
发布公司:A-Soft.net
下载网址:http://www12.big.or.jp/~itsu/A-Post/A-Post_demo.exe
软件简介:
A-POST是设计来让使用者可一次同时发布到成千上万个留言版的超强发言工具。
网路上留言板、贴图区、论坛数量这么多,有时想多到几个留言板发言,得花上大把时间一站一站的去访问,这时候,您是不是希望能够有一个将发言一次就发送到所有论坛的工具呢?
现在,只需几个简单的步骤,A-POST自动帮您发送到您想发送的留言板列表,您还可依个人喜好编辑多组个人信息,自由自在改变每次的留言者名称、e-mail等个人资讯,除此之外,还有强大的共享网址数据厍外,您还可自行添加、管理留言板网址,支持定时自动发送功能。
这正是您理想中的工具,不论是交友讨论、贴图分享、专业网站宣传、发布新闻讯息、、、等,A-POST让您“一次搞定”!
--------------------------------------------------------------------------------