function test(v1,v2:PCHAR):integer;
int test(LPSTR v1,LPSTR v2);
int test(LPSTR v1,LPSTR v2);
解决方案 »
- CListCtrl为什么只能显示256个字符长度???
- 关于内存映射文件的不解
- 关于怎样加快硬盘的读写?
- HOW TO:创建一个由系统菜单,没有标题栏的窗口
- 软件升级,顺便散点分~~
- 请问如何作outlook的插件
- 怎么样才能让vc的编辑器显示行标?(第一个答对的得分!在线等~~~~~~~~~~)
- 迷惑数天的问题??恳请各位高手指教!!!如何控制cformview对话框中滚动条的问题???
- 急问:用VC调试程序时出现下列错误,请高手指点迷津
- 我在vc下用ChtmlView作了一个程序,请问如何控制view窗口文档的滚动和得到总的文档长度
- 用VC编写的DLL在VB中为何不能调用?
- to 版主:能不能把“有人参与讨论这个问题,请用EMail通知我”默认值取NULL?(内空)
extern "C"
int PASCAL test(LPCSTR v1,LPCSTR v2);声明。(注意要用DEF导出)
DELPHI中的使用方法是:
type TYPETEST=FUNCTION(PCHAR v1,PCHAR v2):integer ; stdcall;
VAR test:TYPETEST;
然后再LOADLIBRARY和GETPROCADDRESS即可。
(个别语法错误,请自己判断)
用extern "C"输出函数可以阻止C++的名字分裂。用PASCALL建立标准的调用模式。
Delphi现在默认使用寄存器传递参数,所以也要显示声明调用模式为stdcall。
extern "C" int PASCAL test(LPCSTR v1,LPCSTR v2);在编译时VC在lib中生成的是_test@8。但是delphi编译的时候找的是test,连接会出错的。