标题:调用api Too many arguments (Error 1230)
只看楼主
weiyisc
Rank: 1
等 级:新手上路
帖 子:69
专家分:7
注 册:2009-5-17
得分:0 
以下是引用吹水佬在2022-2-20 09:11:06的发言:

测试了一下,API最多25个参数,VFP函数就26个

**    DLLIMPORT void test(
**        int* a,int* b,int* c,int* d,int* e,int* f,int* g,int* h,int* i,int* j,
**        int* k,int* l,int* m,int* n,int* o,int* p,int* q,int* r,int* s,int* t,
**        int* u,int* v,int* w,int* x,int* y,int* z)
**    {
**        *a=1, *b=2, *c=3, *d=4, *e=5, *f=6, *g=7, *h=8, *i=9, *j=10,*k=11,*l=12,*m=13;
**        *n=14,*o=15,*p=16,*q=17,*r=18,*s=19,*t=20,*u=21,*v=22,*w=23,*x=24,*y=25,*z=26;
**    }

DECLARE test IN test.dll ;
    long@,long@,long@,long@,long@,long@,long@,long@,long@,long@,;
    long@,long@,long@,long@,long@,long@,long@,long@,long@,long@,;
    long@,long@,long@,long@,long@,long@
   
STORE 0 TO a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z
test(@a,@b,@c,@d,@e,@f,@g,@h,@i,@j,@k,@l,@m,@n,@o,@p,@q,@r,@s,@t,@u,@v,@w,@x,@y,@z)
? a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z

昨天折腾完了,api定义最多25个。
感谢版主
2022-02-20 16:13
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
以下是引用weiyisc在2022-2-20 16:13:01的发言:


昨天折腾完了,api定义最多25个。
感谢版主

不明白这个API函数为何要用那么多入口参数,参数个数多不是好习惯。
2022-02-20 16:41
weiyisc
Rank: 1
等 级:新手上路
帖 子:69
专家分:7
注 册:2009-5-17
得分:0 
回复 12楼 吹水佬
确实,现在常规是传个json串。就可以了。
2022-02-20 23:01
湖中花
Rank: 2
等 级:论坛游民
帖 子:14
专家分:40
注 册:2019-12-16
得分:0 
有没有参数长度不超过255个字符的限制?记不清是哪个语言有了
2022-03-01 13:52
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
以下是引用湖中花在2022-3-1 13:52:02的发言:

有没有参数长度不超过255个字符的限制?记不清是哪个语言有了

是字符串255个字符的限制吧,如delphi的短字符串类型
2022-03-01 15:04



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-508380-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.357242 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved