VB调用DELPHI写的dll出现很奇怪的问题,请高人相助啊 !!!我有个delphi座的 Dll,里面有个窗体,源码客户没有给。
在delphi里调用为
//声明--------------------------------------------------------
function RunMyDllcurv(dbuf:array of single; dlen:integer):integer;stdcall;external 'Pdllcurv' index 1;
//调用--------------------------------------------------------
procedure TForm_demo.Button4Click(Sender: TObject);//调用正常
var
curvlen:integer;
curvdata:array[0..99999] of single;
begin
curvlen:=100000
RunMyDllcurv(curvdata, curvlen) ;
end;//************************************************************在VB里调用为
//声明--------------------------------------------------------
Private Declare Function RunMyDllcurv Lib "Pdllcurv.dll" (dbuf As Single, ByVal dleen As Long) As Long
//调用--------------------------------------------------------
Private Sub Command1_Click()//调用不正常
Dim buff(99999) As Single Call RunMyDllcurv(buff(1), 100000)End Sub具体表现为:
1。
当 Pdllcurv.dll 在 vb 系统目录里时, 调式时,按下 Command1 按钮
后, dil 里的窗体可以正常显示,但关闭该窗体后,会出现一个“dll 调用约定错误”的错误
2.
当 生成exe文件后 把 Pdllcurv.dll 放在exe文件所在目录里,按下 Command1 按钮
后,dil 里的窗体没有显示,却出现“读取内搓错误”消息条。
在delphi里调用为
//声明--------------------------------------------------------
function RunMyDllcurv(dbuf:array of single; dlen:integer):integer;stdcall;external 'Pdllcurv' index 1;
//调用--------------------------------------------------------
procedure TForm_demo.Button4Click(Sender: TObject);//调用正常
var
curvlen:integer;
curvdata:array[0..99999] of single;
begin
curvlen:=100000
RunMyDllcurv(curvdata, curvlen) ;
end;//************************************************************在VB里调用为
//声明--------------------------------------------------------
Private Declare Function RunMyDllcurv Lib "Pdllcurv.dll" (dbuf As Single, ByVal dleen As Long) As Long
//调用--------------------------------------------------------
Private Sub Command1_Click()//调用不正常
Dim buff(99999) As Single Call RunMyDllcurv(buff(1), 100000)End Sub具体表现为:
1。
当 Pdllcurv.dll 在 vb 系统目录里时, 调式时,按下 Command1 按钮
后, dil 里的窗体可以正常显示,但关闭该窗体后,会出现一个“dll 调用约定错误”的错误
2.
当 生成exe文件后 把 Pdllcurv.dll 放在exe文件所在目录里,按下 Command1 按钮
后,dil 里的窗体没有显示,却出现“读取内搓错误”消息条。
解决方案 »
- 文件名中含有#的问题..
- 有关调用其他窗体函数的问题
- 还有多少人在用Seagate Crystal Reports Developer Edition 8.0.0.371?
- 用什么方法实现对图片的选择、剪切、复制、粘贴
- 怎樣從vb中傳一值到excel中的文本框?????????????急請幫忙!!謝謝!!
- 关于用ado 访问excel时的疑问?求教!!
- 也许你可以帮我 还是代码的问题
- 三个看似简单,并且非常类似的问题, 一个比一个难. 第一流的 ( SELECT ) 高手请进 .
- (送分)窗口被移动是触发哪个事件呀?
- 对不起了,我有几个问题……谢谢!希望大家捧场!(2)
- 如何在vb中打开一个word文档,并输入以下内容?
- 有哪位用过 QForm平台
是否它的DLL没有开发为提供其他语言调用的形式。
这句之后内存都没有初始化,你直接传递第一个元素进去,当然出错了....
还有你确定那样穿个single进去能正确地传进数组么?
你看看这样可以不
Private Declare Function RunMyDllcurv Lib "Pdllcurv.dll" (dbuf() As Single, ByVal dleen As Long) As LongCall RunMyDllcurv(buff, 100000)