- かもがや
- 大ベテラン
- 会議室デビュー日: 2004/08/31
- 投稿数: 103
|
投稿日時: 2004-09-02 10:14
ハンドルネームのごとく脳味噌が硬直化してきました。
| コード: |
|
Public Sub HogeHoge(AForm as FormHoge)
AForm.TextBox.Text = ""
End Sub
|
Formの方でHogeHoge()を呼び出す時に
| コード: |
|
Call HogeHoge(FormHoge)
|
としてしまい、「引数は型ではなく式です」と怒られてしまいました。
この場合・・式って・・どういう事になるんでしょう?
|
- NAL-6295
- ぬし
- 会議室デビュー日: 2003/01/26
- 投稿数: 966
- お住まい・勤務地: 東京
|
投稿日時: 2004-09-02 10:55
| 引用: |
|
脳味噌筋肉さんの書き込み (2004-09-02 10:14) より:
ハンドルネームのごとく脳味噌が硬直化してきました。
| コード: |
|
Public Sub HogeHoge(AForm as FormHoge)
AForm.TextBox.Text = ""
End Sub
|
Formの方でHogeHoge()を呼び出す時に
| コード: |
|
Call HogeHoge(FormHoge)
|
としてしまい、「引数は型ではなく式です」と怒られてしまいました。
この場合・・式って・・どういう事になるんでしょう?
|
引数として渡すのは型ではなく、インスタンスですよね。
しかも、この場合は自分自身を渡したいのですよね。
上記二つを念頭に置けば解決すると思います。
_________________ 「伝える」とは「人に云う」と書く。
http://d.hatena.ne.jp/NAL-6295/
|
- かもがや
- 大ベテラン
- 会議室デビュー日: 2004/08/31
- 投稿数: 103
|
投稿日時: 2004-09-02 11:12
NAL-6295さん、レスありがとうございます。
| 引用: |
|
引数として渡すのは型ではなく、インスタンスですよね。
しかも、この場合は自分自身を渡したいのですよね。
上記二つを念頭に置けば解決すると思います。
|
でした。
|
- かもがや
- 大ベテラン
- 会議室デビュー日: 2004/08/31
- 投稿数: 103
|
投稿日時: 2004-09-03 09:59
お世話になります。
スレタイと離れるのですが
Form1
Form2
Form3
と3つあって、Form1がForm2を、Form2がForm3をShowDialogで起動させます。
Form3に「Form1に戻る」なんてボタンを置きましてForm3とForm2を閉じてForm1
を開きたいのです。
コード的には
| コード: |
|
Private Sub Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button.Click
Me.Close() -> 自分(Form3)を閉じる
XXX.Close() -> ※Form2を閉じたい
Form1.ShowDialog() -> ※Form1を開きたい
End Sub
|
こういうコードを書いているのですが、非共有メンバの参照に対して、オブジェクト参照
が指定されていません。と怒られます。
エラーのリファレンスには「最初にインスタンスをオブジェクト変数として宣言してから、変数名で
インスタンスを参照します。」とあるのですが、意味が・・分かりません(苦)
アドバイス頂けないでしょうか?
|
- よねKEN
- ぬし
- 会議室デビュー日: 2003/08/23
- 投稿数: 472
|
投稿日時: 2004-09-03 10:23
本題へのレスじゃないんですが・・・
| 引用: |
|
Jubeiさんの書き込み (2004-09-01 14:21) より:
諸農です。
VB.NETはよくわかりませんが、
| 引用: |
|
| コード: |
|
Form
Private Sub Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
formHoge.TextBox = "HogeHogeHoo.."
Call HogeHoge()
End Sub
|
|
formHogeのTextBoxのTextプロパティを"HogeHogeHoo.."にしたいのですよね?
VBってプロパティは短縮できるんですか?
|
旧VBではデフォルトプロパティ(TextBoxの場合、Textプロパティ)は省略できました。
VB.netではできませんが。
| 引用: |
|
あと、フォーム上に貼り付けたコントロールはprivateのはずなので、
クラス外部からはアクセスできなかったんじゃないでしょうか?
|
C#では貼り付けたコントロールはprivateになりますが、
VB.netではデフォルトでFriend(C#のinternal)になります。
|
- Hasumi
- ベテラン
- 会議室デビュー日: 2002/07/23
- 投稿数: 78
- お住まい・勤務地: 神奈川・東京
|
投稿日時: 2004-09-03 10:46
Hasumiです。
| 引用: |
|
脳味噌筋肉さんの書き込み(2004-09-03 09:59)
Form3に「Form1に戻る」なんてボタンを置きましてForm3とForm2を閉じてForm1
を開きたいのです。
|
Form3にForm1に戻るかを示すプロパティを作成し、「Form1に戻る」ボタンを
押したときにForm1に戻るかを示すプロパティをtrueにし、Form3を閉じる。
Form2でForm3のプロパティがtrueの場合はForm2を閉じる。
[ メッセージ編集済み 編集者: Hasumi 編集日時 2004-09-03 10:48 ]
|
- soluna
- ベテラン
- 会議室デビュー日: 2004/06/15
- 投稿数: 59
|
投稿日時: 2004-09-03 13:00
| 引用: |
|
脳味噌筋肉さんの書き込み (2004-09-03 09:59) より:
こういうコードを書いているのですが、非共有メンバの参照に対して、オブジェクト参照
が指定されていません。と怒られます。
エラーのリファレンスには「最初にインスタンスをオブジェクト変数として宣言してから、変数名で
インスタンスを参照します。」とあるのですが、意味が・・分かりません(苦)
|
根っこは『C#でForm以外のモジュールからのFormモジュールの呼び出し』と同じところで
詰まっている感じですね。
『C#でForm以外のモジュールからのFormモジュールの呼び出し』で示されている、
Webページ読みました?
|
- かもがや
- 大ベテラン
- 会議室デビュー日: 2004/08/31
- 投稿数: 103
|
投稿日時: 2004-09-03 14:24
Hasumiさん、solunaさん、レスありがとうございます。
| 引用: |
|
solunaさんの書き込み (2004-09-03 13:00) より:
| 引用: |
|
脳味噌筋肉さんの書き込み (2004-09-03 09:59) より:
こういうコードを書いているのですが、非共有メンバの参照に対して、オブジェクト参照
が指定されていません。と怒られます。
エラーのリファレンスには「最初にインスタンスをオブジェクト変数として宣言してから、変数名で
インスタンスを参照します。」とあるのですが、意味が・・分かりません(苦)
|
根っこは『C#でForm以外のモジュールからのFormモジュールの呼び出し』と同じところで
詰まっている感じですね。
『C#でForm以外のモジュールからのFormモジュールの呼び出し』で示されている、
Webページ読みました?
|
C#で詰まったところはVB.NETでどうなるか?
VB.NETで詰まったところはC#でどうなるか?
どうしても知りたくてこうなってしまいます。
Webページ、これから読みにいってきます。
|