VB.netのwinsockをVBのようにコントロール配列にして使用するには?
VB.netでwinsockをVBのように配列にして使用したいと思い、
以下のようにwinsockのインスタンスを配列に格納したのですが
Public sckBase(3) As AxMSWinsockLib.AxWinsock ' Winsockcontrolをコントロール配列として使用する
Private Sub frmServer_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim i As Integer
Dim strPort As String
For i = 0 To 3
sckBase(i) = New AxMSWinsockLib.AxWinsock()
Next
strPort = InputBox("サーバで使用するポート番号を入力してください", "Input Port No.", 10000)
sckBase(0).LocalPort = CLng(strPort) ' Server Port
sckBase(0).Listen() ' sckBase(0)は listen 専用
End Sub
sckBase(0).LocalPort = CLng(strPort) の部分で
「'InvalidActiveXStateException' のハンドルされていない例外が
axinterop.mswinsocklib.dll で発生しました。」
となってしまい、うまく行きません。ご享受よろしくお願いします。
本件、ある方のご好意によりまして解決いたしました。
Me.SuspendLayout()
For i = 0 To 3
sckBase(i) = New AxMSWinsockLib.AxWinsock
CType(sckBase(i), System.ComponentModel.ISupportInitialize).BeginInit()
Controls.Add(sckBase(i))
CType(sckBase(i), System.ComponentModel.ISupportInitialize).EndInit()
Next
Me.ResumeLayout(False)
もし同様なことでお悩みの方のための参考にどうぞ。
ツイート | ![]() |