有关VB调用DELPHI 6写的DLL问题 用PChar类型?应该是指针错误问题啊。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Dephi 中String与VB中String不一样, VB中定义后要分配空间.eg: dim x as strng;x="XXXXXXXXXXXXX" ' 你要多长有写多长call dephidll(x) 谢谢zhuguohun,我按照你的方法试过了,还是不行。VB中的STRING是一个32位的指针,即使预先赋值,到DLL中,该指针将指向由DLL分配的空间,所以你的方法不管用。 要采用Byval传递参数,同时要在VB中分配空间 你们说的让我好奇怪,我用PChar类型用ByVal传递从未出过问题啊! 感谢各位的帮助,我的问题已经解决。thirdapple:您可能未能理解我的意思,我是要把VB的参数传到DLL中,由DLL改写后传回来,所以不能用BYVAL。事实证明,我原先的推测是正确的。为了让大家一起提高,把我的方法介绍一下:VB声明STRING变量后,必须分配空间;DLL中,必须用STRCOPY方法将值复制到该参数,而不能直接赋值。 weibo.com登陆的sp数值算法 求助,怎么点击WebBrowser弹出的提示框? 数据连接问题,急~~ 关于Vsflexgrid组合VSPrinter的问题 关于数据库安全的问题 问一个和VB无关的问题。 关于Commondialog.Show一次选择多个文件的问题! 关于vb程序运行的问题!!急!!!! 用sql语句如何表达,急! 大师们啊:佳能有一款机型,长得方头方脑的,基本是正方体,不知道是哪一款? Byte数组的内容保存到Variant变量中,然后再从该Variant变量中读出来,为什么就不对? 一个关于SQL语言的执行问题!!!!!!!!!
eg:
dim x as strng;
x="XXXXXXXXXXXXX" ' 你要多长有写多长
call dephidll(x)
VB中的STRING是一个32位的指针,即使预先赋值,到DLL中,该指针将指向由DLL分配的空间,所以你的方法不管用。
thirdapple:您可能未能理解我的意思,我是要把VB的参数传到DLL中,由DLL改写后传回来,所以不能用BYVAL。
事实证明,我原先的推测是正确的。
为了让大家一起提高,把我的方法介绍一下:
VB声明STRING变量后,必须分配空间;DLL中,必须用STRCOPY方法将值复制到该参数,而不能直接赋值。