VB6でwinsockをつかって通信プログラムを作成しています。
フォーム1にwinsockコントロールを設置し、新しい接続があったらコントロール配列を作って、データを受信した場合別のフォームに表示させたいのですが、フォームが複数あるため、関数をつかって表示させようとおもうのですが、
現在
Private Function Hyouji(ByVal Formsno As Form)
Formsno.text1.text=jusin
End Function
と関数を作ったところエラーはでないのですが、引数にフォームが渡せていないみたいで、表示ができません。
フォームを引数にする箇所が間違っているのでしょうか?
分かる方いましたら、よろしくお願いします。
> Private Function Hyouji(ByVal Formsno As Form)
> Formsno.text1.text=jusin
> End Function
その実装であれば、表示は行えると思いますよ。
表示できないのであれば、別の場所に問題があるのかも知れませんね。
上記 3 行の実装に気になる点もあるにはあるのですが、
表示できない件とは直接は関係無さそうです。
# 戻り値が定義されていない点とか(Sub では無いのは何故なのか)、引数が
# Nothing だった場合の扱い(エラーで良いのか/ただ無視するのが良いのか)とか、
# フォームがレイトバインドされているので、コンパイル時に Text1 の存在を
# チェックできていない点とか…。
> 引数にフォームが渡せていないみたいで、表示ができません。
その渡し方に問題があったりはしませんか?
可能であれば、メソッドの呼び出し部分の前後のコードも掲載してみてください。
早速の有難うございます
色々と指摘ありがとうございます。
戻り値がないので、Subでいいですね。
Nothingとはフォームがないということでしょうか?
レイトバインド、、すいません、わからないので調べてみます。
呼び出しの部分は
Call(form2)
と直接フォーム名をコードに記述しています
フォーム型というものを理解できていないのですが、他に
dim f As Form2
と宣言して
Call(f)
などとしてみましたがやはりだめでした。
分からないことだらけで申し訳ありませんが、よろしくお願いします。
魔界の仮面弁士さんご回答ありがとうございました。
解決しました。