我用vc做的一个dll代码如下
extern "C" double __stdcall test(BSTR testdll)
{
double ttt = 5.3
return 5.3;
}
输入一个字符串,输出一个浮点型
在def文件中已经定义了接口
用delphi调用的时候
代码如下
function test( testdll: widestring ) : real;stdcall; external 'test.dll';调用中参数字符串testdll可以传进去,但是返回值却传不回来返回值溢出
各位知道是什么原因?
extern "C" double __stdcall test(BSTR testdll)
{
double ttt = 5.3
return 5.3;
}
输入一个字符串,输出一个浮点型
在def文件中已经定义了接口
用delphi调用的时候
代码如下
function test( testdll: widestring ) : real;stdcall; external 'test.dll';调用中参数字符串testdll可以传进去,但是返回值却传不回来返回值溢出
各位知道是什么原因?
解决方案 »
- 关于读取超大问题内容的问题。
- DBLookupcombobox做省、市、县三级联动的问题 问题解决后,另开贴100分酬谢
- 求助关于在ActiveForm中放置数据库控件,客户端不能正常连接的问题啊
- 我想在程序中实现IP查主机和域名的功能
- DBGrid 没有数据源的情况下 可以动态增加一行么?
- delphi中调用html界面时,如何控制html中button的click事件!
- 本人初学DELPHI:关于模拟键盘按键的问题,帮我UP,入即给分,急急急。。。。
- 一个delphi通用问题,好多人想知道!!!
- 请问如何取表中的当前记录?也就是dbgrid中当前选中的行?
- 关于打印的一些问题
- 怎样把两个维数,元素个数,类型都相同的数组互相赋值
- indy10的ftp问题
CDecl不要使用StdCall的!
也不要使用String的,改用PCharhttp://lysoft.7u7.net
这样的话, 应该:
type
PWORD = ^WORD;
function test( testdll: PWORD) : Double;stdcall; external 'test.dll';还有. 它返回的是双精度, 而不是单精度.有时这样会造成溢出的
我有VC写的DLL都是这样定义的.double WINAPI test(BSTR testdll)
{
}对于这种DLL, 最好还是把参数一一对应的好.