欢迎您光临博庭社区!

 找回密码
 立即注册
楼主: ptLibert

金魔方DLL接口   [复制链接]

Rank: 3Rank: 3

发表于 2014-8-14 16:37:15 |显示全部楼层
受益匪浅,谢谢!

使用道具 举报

Rank: 8Rank: 8

发表于 2014-8-14 19:38:15 |显示全部楼层
hslixuexue 发表于 2014-8-14 13:25
把头文件和cpp文件里面的array,全部改为array0  .
编译通过了,但是新接口,根本没反应!
#RunMode Run_ ...

要输出才可以啊
:=是赋值
:才是输出

使用道具 举报

Rank: 3Rank: 3

发表于 2014-8-16 09:27:03 |显示全部楼层
本帖最后由 hslixuexue 于 2014-8-17 08:22 编辑
ptLibert 发表于 2014-8-14 19:38
要输出才可以啊
:=是赋值
:才是输出

我知道,但是不是这的问题!
:=是赋值;我只要它赋值!本来他的意义也如此,中间变量而已!不要也可以
ma1:0;将会在图上生成一条值为0的直线!

我使用了最简单的函数证明了是参数类型出了问题!
#RunMode Run_By_Bar
#MAINCHART

extern '1111.dll' double my_ma(int n );
extern '1111.dll' double my_ma(float n);
extern '1111.dll' double my_ma(double n);

extern '1111.dll' int my_ma(int n );
extern '1111.dll' int my_ma(float n);
extern '1111.dll' int my_ma(double n);
extern '1111.dll' double my_ma(numericseries n); //源代码中有个申明,估计与numericseries有关

kkk:my_ma(c);

对应dll源代码、头文件略,主程序就是一句话:return(n+100);
+100的原因,就是验证dll是不是运算了!

最后的结果其余正常,下面三句报错:
extern '1111.dll' double my_ma(double n);
extern '1111.dll' int my_ma(double n);
extern '1111.dll' double my_ma(numericseries n);
编译不报错,图上报错引用dll错误,找不到相应的函数!或者生成一条值为0的直线

另外,范例中所有例子,只要是两个参数以上,图上报错引用dll错误,找不到相应的函数! 最简单如下:
extern '1111.dll' int my_ma(int n,int  m);
my_ma(1010 );  
对应dll源代码、头文件略,主程序就是一句话:return(n+m);




使用道具 举报

Rank: 3Rank: 3

发表于 2014-8-18 16:24:04 |显示全部楼层
你好!
    再请教以下关键问题:关于新接口,为什么只要超过一个参数,无论范例中哪种类型,都提示“引用dll无法找到相应函数”?
    一个参数得行,加一个参数马上就不行了?最简单如下也不行:
extern "C" __declspec(dllexport) int WINAPI my(int n,int m)
{        
           return(m+n);
}
下面就得行:

extern "C" __declspec(dllexport) int WINAPI my(int m)
{        
           return(m+100);
}

使用道具 举报

Rank: 8Rank: 8

发表于 2014-8-18 16:27:03 |显示全部楼层
hslixuexue 发表于 2014-8-18 16:24
你好!
    再请教以下关键问题:关于新接口,为什么只要超过一个参数,无论范例中哪种类型,都提示“引用d ...

没道理。或者你把你的dll工程打包发给我试试

使用道具 举报

Rank: 3Rank: 3

发表于 2014-8-18 16:34:29 |显示全部楼层
ptLibert 发表于 2014-8-18 16:27
没道理。或者你把你的dll工程打包发给我试试

怎么发?附件限制要求16m,压缩了44m

使用道具 举报

Rank: 3Rank: 3

发表于 2014-8-25 14:27:00 |显示全部楼层
本帖最后由 hslixuexue 于 2014-8-26 18:55 编辑

感谢楼主ptLibert!
本人c技术有问题!呵呵!
现把方法留下,给遇到类似问题的人。解决金魔方dll新接口只能一个参数输入的问题:
在.def文件下加一行:
函数名1 @1;
函数名2 @2;//注意有空格



附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册

使用道具 举报

Rank: 2

发表于 2014-10-1 16:06:53 |显示全部楼层
好好学习

使用道具 举报

Rank: 2

发表于 2014-10-21 13:17:42 |显示全部楼层
谢谢分享

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

bottom

Archiver|http://www.patiosoft.com

GMT+8, 2017-12-11 08:50 , Processed in 0.200383 second(s), 8 queries .

花生网 Copyrigh©2012

和讯信息科技有限公司 ALL Rights Reserved 版权所有 复制必究

回顶部