※ ChatGPTを利用し、要約された質問です(原文:AxMSFlexGridのset_TextMatrixエラー)
AxMSFlexGridのset_TextMatrixエラーが発生する
2007/12/23 16:05
このQ&Aのポイント
AxMSFlexGridLib.AxMSFlexGridのset_TextMatrixエラーが発生します。VB6からVB.NET2005への移行を行っています。
Form2で変更した内容を、Form1のリストに反映する際に、set_TextMatrix(.Row, 1, tb氏名.Text)の箇所でエラーが発生します。
エラー内容は、「381 HRESULTからの例外:0x800A017D(CTL_E_INVALIDPROPERTYARRAYINDEX)」です。.NETでの画面遷移方法を変更したこととも関係がある可能性があります。
AxMSFlexGridのset_TextMatrixエラー
OS:Windows 2003 Server
言語:VB .NET 2005
AxMSFlexGridLib.AxMSFlexGridのset_TextMatrixエラーが発生します。
VB6からVB.NET2005への移行を行っています。
VB6ではエラーなく動いていた箇所です。
やっていることとやりたいことは、
1.Form1にAxMSFlexGridLib.AxMSFlexGridを使用して利用者リストを表示
-->ここは問題なし
2.Form1で選択した利用者の情報をForm2に表示
Form2はモーダルモードで立ち上げる
-->ここも問題なし
--【Form1.vb】------------------
<VB6>
Form2.Show vbModal, Me
<.NET>
Me.AddOwnedForm(Form2)
Form2.ShowInTaskbar = False
Form2.Show()
------------------------------
3.Form2で変更した内容を、Form1のリストに反映する
-->ここでエラー発生
--【Form2.vb】------------------
<VB6>
With Form1.flx利用者一覧
.TextMatrix(.Row, 1) = tb氏名
.TextMatrix(.Row, 2) = tb氏名フリガナ.Text
.TextMatrix(.Row, 3) = tb郵便番号.Text
.TextMatrix(.Row, 4) = tb住所.Text
.TextMatrix(.Row, 5) = tb電話番号.Text
End With
<.NET>
Dim Form1 As New Form1
With Form1.flx利用者一覧
.set_TextMatrix(.Row, 1, tb氏名.Text)
.set_TextMatrix(.Row, 2, tb氏名フリガナ.Text)
.set_TextMatrix(.Row, 3, tb郵便番号.Text)
.set_TextMatrix(.Row, 4, tb住所.Text)
.set_TextMatrix(.Row, 5, tb電話番号.Text)
End With
------------------------------
3の「set_TextMatrix(.Row, 1, tb氏名.Text)」の箇所でエラーが発生します。
エラー内容は、
「381 HRESULTからの例外:0x800A017D(CTL_E_INVALIDPROPERTYARRAYINDEX)」
です。
.Rowで対象の列番号も正しく取得されていますし、tb氏名.Textなども文字列がセットされています。
.NETでの画面遷移方法を変更したことと何か関係があるのでしょうか。AddOwnedFormを使って子画面を呼び出した場合、set_TextMatrixが使えないという仕様なのでしょうか。
よろしくお願いいたします。
質問の原文を閉じる
質問の原文を表示する
お礼
フォームの指示を教えていただいたように変更したら通りました! フォームの指定がメモリ上に新しく作成するようになっていたため、 「.Row」 の取得がうまくいかずエラーになっていたようです。 本当にありがとうございました!!!!!