标题:求示例代码
只看楼主
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1817
专家分:3681
注 册:2011-3-24
结帖率:98.24%
已结贴  问题点数:100 回复次数:10 
求示例代码
之前的STDF切割已经完成了~
也通过国际知名软件验证OK了~
但是每次客户有需求就要重写一次也不是办法~
而且VB中处理大的二进制档案效率奇差无比~
所以处理二进制资料部分想用C写成DLL~
再配合VB去实现客户需求的功能~
所以有个问题要问一下版上的高手们~
因为一部分是VB代码一部分是C代码~
所以这问题不知道要贴在C版或是VB版~
如果版主觉得贴在这不恰当再麻烦帮转~

我的问题是要如何把C的自订结构传回VB~让VB去调用~
希望有相关代码可以让我参考~越简单越好~谢谢~

P.S 纯C就好~C++我不会~MFC更不用说~
搜索更多相关主题的帖子: 而且 国际 二进制 资料 
2012-01-13 19:14
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1817
专家分:3681
注 册:2011-3-24
得分:0 
这次不用考虑STDF了~
单纯就考虑传结构的问题就可以了~
其他我会自己想办法解决~

不要選我當版主
2012-01-13 19:18
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:50 
你可以参考 系统API 方面的一些示例。
有些系统API 传递的就是一个结构。

在VB里,照样建立结构,要求内存结构与C 的完全一样
然后调用时,按地址传递的方式进 DLL 的 API 函数去。
DLL 的API 函数,按照这个地址,写入要返回的结构的数据就是了。
C 我不太懂。只知道 结构按地址传递是 VB 与 C 进行成块结构性数据交换的方式之一。

授人于鱼,不如授人于渔
早已停用QQ了
2012-01-13 20:20
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1817
专家分:3681
注 册:2011-3-24
得分:0 
我也知道有些API是传结构的~
问题是我没有API的源代码~
所以不知道它是怎做的~
只知道一定可以~
所以才上来问~

不要選我當版主
2012-01-13 21:31
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1817
专家分:3681
注 册:2011-3-24
得分:0 
你的方法以前我试过~只是失败了~所以才想要成功的范例程式码~
来看看到底是错在哪~

再者VB和C一些基本的形态定义不大一样~
这也是很麻烦的地方~以前有需要个功能~
找遍整个网路~只在MSDN讨论区上找到C#的结构程式码~
就是没VB的~也不知道怎把C#的结构转成VB的~
后来就放弃了~这我印象蛮深的~
我要想一下是哪个功能~

不要選我當版主
2012-01-13 21:42
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1817
专家分:3681
注 册:2011-3-24
得分:0 
是这个吗?不会这么好找吧= =
http://www.

不要選我當版主
2012-01-13 21:53
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1817
专家分:3681
注 册:2011-3-24
得分:0 
那C定义的多层结构体又要怎传到VB中?

不要選我當版主
2012-01-13 22:00
bczgvip
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:66
帖 子:1310
专家分:5312
注 册:2009-2-26
得分:50 
多层结构体?
如Tree 结构的指针吗?
2012-01-14 06:13
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1817
专家分:3681
注 册:2011-3-24
得分:0 
回复 8楼 bczgvip
应该是~不知道你的理解跟我说的有没有相同~举例来说~

struct D{
   int n;
   double *m;
};
struct C{
   int n;
   D *m;
};
struct B{
   int n;
   C *m;
};
struct A{
   int n;
   B *m;
};

像这样的结构怎传给VB中去运用?

不要選我當版主
2012-01-14 13:35
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:0 
这个要测试。

在C 里,指针的长度是 4个字节 ,也就是 VB 里的 LONG 。
但VB里不支持指针。
结构A里是二个元素, int n  和一个指针,相当于一个 long
你只能测试一下,看看把这个 long 传递给 API  CopyMemory ,看看能不能把这个 long 指向的结构再复制到一个
你显式定义的 结构B 的变量中去。
如果能,那就可以一层一层的 复制了。

授人于鱼,不如授人于渔
早已停用QQ了
2012-01-14 14:30



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




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

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