各位大侠来帮忙看看,VB.net中如何调用这个 C 的标准 DLL~~~~
各位大侠,小弟由于某些原因需要使用 VB.NET 调用一个标准C 的 DLL,以下是该函数的描述级调用,我该如何翻译成VB的呢?
定义:
一个可运行的 C 程序例子:
问题来了,实际上 value_ptr的第0和第1个元素分别存的是 data_buffer[0] 和 data_buffer[2]的地址,然后将value_ptr作为参数传送给 DLL 中,但是我试了不是报错就是返回值 Value_ptr 中只有一个值。VB.net中该如何处理呢??重分相赠,各位大侠快来呀~~
定义:
int32 s7_get_multiple_read_cnf(
void *od_ptr, /* In call */
ord16 *result_array, /* Returned */
ord16 *var_length_array, /* Call and Returned */
void *value_array /* Returned */
)一个可运行的 C 程序例子:
static void my_get_multiple_read_cnf(ord32 cp_descr)
{ int32 ret;
ord16 result[2],var_length[2];
ord8 data_buffer[4]; /* four Byte are necessary for reading two MWORD */
ord8 *value_ptr[2];
/* initialize arrays */
result[0] = S7_RESULT_OBJ_NOT_EXISTS;
result[1] = S7_RESULT_OBJ_NOT_EXISTS;
var_length[0] = 2;
var_length[1] = 2;
value_ptr[0] = &data_buffer[0]; /* set first pointer to begin of buffer */ /问题点
value_ptr[1] = &data_buffer[2]; /* set sec. pointer to offset 2 */ /问题点
if((ret=s7_get_multiple_read_cnf(NULL,result,var_length,value_ptr))!=S7_OK)
{
my_exit(cp_descr,"Error s7_get_multiple_read_cnf",ret);
}
}问题来了,实际上 value_ptr的第0和第1个元素分别存的是 data_buffer[0] 和 data_buffer[2]的地址,然后将value_ptr作为参数传送给 DLL 中,但是我试了不是报错就是返回值 Value_ptr 中只有一个值。VB.net中该如何处理呢??重分相赠,各位大侠快来呀~~
...全文
相关推荐
c# / VB 调用refprop.dll
c#调用refprop.dll文件来查物性参数, 只是封装的代码,refprop.dll需要自己下载。下载1分,没分的消息给我。
TSC条码打印机-VB.NET调用范例
TSC条码打印机-VB.NET调用范例,,供二次开发的朋友参考。
vb调用c#的dll
轻松实现vb调用c#的dll。本人试验,可以轻松调用。
VB如何调用WebService
描述如何在VB6里面实现webservice调用
GPIB卡控制源码(包括vb,c#,vb.net,labview,bcb,Delphi,vc)
GPIB卡控制源代码,包括vb,c#,vb.net,labview,bcb,Delphi,vc


API
