重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
关于串口通讯的问题:
创新互联公司是一家专业提供湟中企业网站建设,专注与成都做网站、成都网站建设、H5技术、小程序制作等业务。10年已为湟中众多企业、政府机构等服务。创新互联专业网站设计公司优惠进行中。
很明显,你还不知道(不会、不习惯)使用事件驱动的方式接收数据。
建议你仔细看看串口组件(无论VB6还是VB.net)的OnComm事件,你的问题很容易解决。
关于以太网通讯:
在TCP通讯中端口确实可以重用,你百度一下“TCP端口重用”能查到很多示例。
但绝大多数情况下不推荐端口重用,而应该采取服务器端建立连接池的方法。
或者,干脆不用TCP,用UDP解决也可以。
1·绑定数据源来进行连接
2.用代码连接
先到数据库建立一个数据库和相应的表
连接数据库的代码:
Dim str As String = "Data Source=服务器名;Initial Catalog=数据库名;Persist Security Info=True;User ID=;Password="
dim conn As SqlClient.SqlConnection
try
conn = New SqlClient.SqlConnection
conn.ConnectionString = str
conn.Open()
Return True
Catch ex As Exception
MsgBox(ex.ToString)
Return False
End Try
登录代码:Dim str As String = "Data Source=服务器名;Initial Catalog=数据库名;Persist Security Info=True;User ID=;Password="
dim conn As SqlClient.SqlConnection
conn = New SqlClient.SqlConnection
conn.ConnectionString = str
conn.Open()
sqlstr = "Select * From Amd Where AmdName='" TextBox1.Text "' And AmdPwd = '" TextBox2.Text "'"
Dim sqlcmd As SqlClient.SqlCommand = New SqlClient.SqlCommand(sqlstr, conn)
Dim dr As SqlClient.SqlDataReader
dr = sqlcmd.ExecuteReader
If dr.Read = True Then '判断一条记录为真
kf.Show() '显示下个窗体
Me.Hide() ’隐藏当前窗体
Else
MessageBox.Show("输入信息有误!", "提示")
TextBox1.Text = ""
TextBox2.Text = ""
End If
新建---类库---把你的函数放在新建的类库中-----生成ClassLibrary1
在net程序中---引用----对应目录下的ClassLibrary1.dll
对应的代码定义如: Dim mydll As New ClassLibrary1.Class1
最后就可以用mydll调用你的函数MyFunction了: mydll .MyFunction(1, 2)
注意:vb.net编写的DLL不能用API函数的方式通过Declare宣告,只能引用的方式使用
vb.net要编写的DLL能被vb6.0引用,需要先在编译属性中选择“为COM互操作注册”打勾
然后在Visual Studio 2008 命令提示中运用RegAsm命令加/tlb命令生成tlb文件
例如:c:\ReleaseRegAsm ClassLibrary1.dll /tlb回车就会在当前目录生成ClassLibrary1.tlb文件
vb6.0中引用ClassLibrary1.tlb即可。