Private Sub tcp_ConnectionRequest(Index As Integer, ByVal requestID As Long)
'コントロール配列0で接続要求あり
'0番目のWinsockは配列要求受付用 実際に接続には使用しない。
If Index = 0 Then
tcpNum = tcpNum + 1 '添字を加算
'新規にWinsockを追加
Load tcp(tcpNum)
'新規通貨したWinsockのポート番号設定(0とする)
tcp(tcpNum).LocalPort = 0
'新規接続処理をする
tcp(tcpNum).Accept requestID
End If
End Sub
と参考にっしてプログラムを作成しってるのですが、コンパイルエラーでプロシジャー宣言、イベントまたはプロシージャーの定義がって、でるのですが原因がわかりませんので教えてください。
tcpがコントロール配列になっていないとか
編集 削除どの行がエラーになっているのですか?
> コンパイルエラーでプロシジャー宣言、
> イベントまたはプロシージャーの定義がって、でるのですが
略さずにきちんと書いてください。
データ受信時にでしょうか?たとえば、どのように配列にすらばいいのですか?
編集 削除Private Sub tcp_ConnectionRequest(Index As Integer, ByVal requestID As Long)のところがコンパイルエラーで”プロシジャー宣言が、イベントまたはプロシージャーの定義と一致していません”とででいます。
編集 削除> Private Sub tcp_ConnectionRequest(Index As Integer, ByVal requestID As Long)のところが
> コンパイルエラーで”プロシジャー宣言が、イベントまたはプロシージャーの定義と一致していません”とででいます。
やはりdeさんのおっしゃられているように、tcpが配列になっていないのでは?
配列のプログラムがわからないのですが。先ほども書きましたがどのうしたらいいのですか?
編集 削除tcpのIndexを0に設定してみるとか。
編集 削除tcpはフォーム上に貼り付けたWinsockコントロールの名前なのですよね。
また、Winsockコントロールはフォーム上にいくつ貼り付けられていますか?
Winsockコントロールをフォーム上に一つ貼り付けて、
それをコピー&ペーストすると、
『既に同じ名前のコントロール 'Winsock1'があります。コントロール配列にしますか?』
といったメッセージが出ると思います。
ここで「はい」を選べば、コントロールの配列ができるのですが。
tcpという名前のWinsockコントロールを選択した際、
プロパティのオブジェクトリストの表示が
『tcp(0) Winsock』となっていれば配列、
『tcp Winsock』となっていれば配列ではありません。
配列になっていないコントロールであれば、
引数の『Index As Integer, 』を削除して下さい。
これでコンパイルは通るようになると思います。
ありがとうございます!!!配列にすることができました。またエラーがでましたらお力をお貸しください。
編集 削除fっくy
編集 削除> ガッ 2004/12/21(火) 10:30:37
> fっくy
古いスレあげて何がやりたいの?
ほとんどのレスに誤爆誤爆書いてるけど、
きちんと答えるつもりが無いなら書かなければいいと思うよ。
そこまで偉そうにしているその神経が分からない。
蛾
編集 削除