| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY 
共有 229 人关注过本帖
标题:[求助]VC中CString转换成VB中的应该怎么写?
收藏  订阅  推荐  打印 
红影
Rank: 4
等级:高级会员
威望:1
帖子:534
积分:5462
注册:2006-2-22
[求助]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: 12Rank: 12Rank: 12
来自:A与C之间
等级:版主
威望:43
帖子:3024
积分:33034
注册:2007-7-2

[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);        //<a href="http://hi.baidu.com/yzidan" target="_blank"><font color="green">***>[B]欢 迎 光 临 我 的 博 客[/B]
2007-10-14 00:55
红影
Rank: 4
等级:高级会员
威望:1
帖子:534
积分:5462
注册:2006-2-22

以下是引用缘吇弹在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: 4
等级:高级会员
威望:1
帖子:534
积分:5462
注册:2006-2-22

版主呢版主呢?

生命中,不断有人离开和进入。于是,看见的,看不见了;记住的,遗忘了。
2007-10-15 10:01
lisypro
Rank: 4
等级:高级会员
威望:3
帖子:558
积分:5720
注册:2005-9-25

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


长期承接管理系统
代做各种vb/ vb.net/ vc小程序
QQ:82341763
手机:13623290828
群号 11619730
2007-10-15 12:33
红影
Rank: 4
等级:高级会员
威望:1
帖子:534
积分:5462
注册:2006-2-22

太酷了

生命中,不断有人离开和进入。于是,看见的,看不见了;记住的,遗忘了。
2007-10-16 10:36
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.126768 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved