delphi写的DLL,参数是BYTE数组,求救!! VB调用delphi写的DLL,参数是BYTE数组,目的是在DLL中为数组赋值,对Delphi不熟,请各位高手们告诉我该怎么做啊!谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我想问的是这个DLL里面应该怎样对VB传过来的BYTE数组赋值,我试了几种方法都不对。都是只能读数组内容,不能对数组赋值 有没有对VB和Delphi都熟的高手呀,快来看看呀,帮帮忙 在Delphi中我是这样定义的function getbytes(nm:pchar;var nm2:Integer;var bytes:array of byte):Integer; 请问应该怎样才能实现对bytes赋值呢 动态数组是不能在VB和DELPHI中传递的,因为这两个使用的内存管理器不同,改用传内存块的方式,而且内存块要在外部分配,里面使用。 可以在DLL中用直接赋值的办法实现比如:DLL中:procedure Get_CCD_Count(var Ccd: Array of Byte;WaitTime: Integer);StdCall;var i1,i2,i3,i4,i5,i6: Byte;begin asm end; Sleep(WaitTime); Ccd[0]:= i1; Ccd[1]:= i2; Ccd[2]:= i3; Ccd[3]:= i4; Ccd[4]:= i5; Ccd[5]:= i6;end;调用(静态):var im: Array[0..5] of Byte;Get_CCD_Count(im,1); 把参数var bytes:array of byte改为var bytes: OleVariant,然后操作OleVariant就可以很好地跟VB交互了VB当中声明为 byref Bytes as Variant 谢谢unsigned 搞定 不好意思 这几天请假 没上 刚刚结贴 谢谢了 帮我看看这段代码什么意思~ erp的时间连接问题 软件里怎么植入广告 谁有4S店内管理软件 已知管理员密码的情况下,能否抓取局域网内其它电脑的配置? 为什么IDHTTP下载扩展名为.ini .bpl 的文件不行? 有誰处理过 舱单报文(IFCSUM)平台文件 1000分求解决方案 有关数据库查询结果保存为流的问题? ADOConnection使用? select sum(数值型) from...group by... 。为什么在表格中显示出的数值长度特别宽,能否解决呢,请大家赐教。 delphi7如何调用.net 写的DLL 如何在保存到数据库之前,验证dbgrid某一列的值的合法性?
procedure Get_CCD_Count(var Ccd: Array of Byte;WaitTime: Integer);StdCall;
var
i1,i2,i3,i4,i5,i6: Byte;
begin
asm
end;
Sleep(WaitTime);
Ccd[0]:= i1;
Ccd[1]:= i2;
Ccd[2]:= i3;
Ccd[3]:= i4;
Ccd[4]:= i5;
Ccd[5]:= i6;
end;
调用(静态):var
im: Array[0..5] of Byte;Get_CCD_Count(im,1);
改为var bytes: OleVariant,然后操作OleVariant就可以很好地跟VB交互了
VB当中声明为 byref Bytes as Variant