| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1042 人关注过本帖
标题:[求助]VC中CString转换成VB中的应该怎么写?
只看楼主 加入收藏
红影
Rank: 1
等 级:新手上路
威 望:2
帖 子:659
专家分:0
注 册:2006-2-22
结帖率:66.67%
收藏
 问题点数:0 回复次数:5 
[求助]VC中CString转换成VB中的应该怎么写?

我要调用一个VC做的dll,里面有个函数,它的参数中有一个是CString类型的,我在VB里应该怎么声明这个参数?我直接用string好像不行的。
因为这个参数值最后是从界面上的文本框的内容传递上来的。我该怎么写呢?


DrfNetConnect (CString strIp, int port) 这就是VC做的那个dll里面的那个函数

我写的函数声明是:
Public Declare Function DrfNetConnect Lib "DrfNetSdk10.dll" (ByRef strIp As String, ByVal port As Integer) As Integer

我在按钮事件过程中写的代码是:
Dim strIp As String
Dim port As Integer

strIp = Text2.Text
port = Val(Text3.Text)
Dim result As Integer
result = DrfNetConnect(strIp, port)

我设了断点,但是看到strIp, port这2个变量的值好像是根本没有传进这个函数
我不知道究竟是哪里处理的有问题?请教高手指点下。

Text2中输入的是一组IP地址,格式就是*.*.*.*这样的。

搜索更多相关主题的帖子: CString 
2007-10-14 00:07
缘吇弹
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:地球
等 级:版主
威 望:43
帖 子:3038
专家分:27
注 册:2007-7-2
收藏
得分:0 
[QUOTE]
我写的函数声明是:
Public Declare Function DrfNetConnect Lib "DrfNetSdk10.dll" (ByRef strIp As String, ByVal port As Integer) As Integer
[/QUOTE]
改为下边的看看:
Public Declare Function DrfNetConnect Lib "DrfNetSdk10.dll" (ByVal strIp As String, ByVal port As Integer) As Integer

Repeat  Life=Study;Until (death);
2007-10-14 00:55
红影
Rank: 1
等 级:新手上路
威 望:2
帖 子:659
专家分:0
注 册:2006-2-22
收藏
得分:0 
以下是引用缘吇弹在2007-10-14 0:55:06的发言:

我写的函数声明是:
Public Declare Function DrfNetConnect Lib "DrfNetSdk10.dll" (ByRef strIp As String, ByVal port As Integer) As Integer

改为下边的看看:
Public Declare Function DrfNetConnect Lib "DrfNetSdk10.dll" (ByVal strIp As String, ByVal port As Integer) As Integer

好像可以哦
但是ByVal不是传值吗?
CString好像有指针的含义吧,我以为应该是用ByRef传址比较合适

能给解释下原因吗?


生命中,不断有人离开和进入。于是,看见的,看不见了;记住的,遗忘了。
2007-10-14 18:53
红影
Rank: 1
等 级:新手上路
威 望:2
帖 子:659
专家分:0
注 册:2006-2-22
收藏
得分:0 
版主呢版主呢?

生命中,不断有人离开和进入。于是,看见的,看不见了;记住的,遗忘了。
2007-10-15 10:01
lisypro
Rank: 4
等 级:业余侠客
威 望:3
帖 子:695
专家分:216
注 册:2005-9-25
收藏
得分:0 

不用想了,一个特殊规定,DLL传递string参数中
一定要用byVal。


长期承接管理系统
代做各种vb/ / vc小程序
QQ:82341763
手机:13623290828
群号 11619730
2007-10-15 12:33
红影
Rank: 1
等 级:新手上路
威 望:2
帖 子:659
专家分:0
注 册:2006-2-22
收藏
得分:0 
太酷了

生命中,不断有人离开和进入。于是,看见的,看不见了;记住的,遗忘了。
2007-10-16 10:36
快速回复:[求助]VC中CString转换成VB中的应该怎么写?
数据加载中...
 
   



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

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