投稿日 | : 2003/03/28(Fri) 16:51 |
投稿者 | : Lantern |
Eメール | : |
URL | : |
タイトル | : Re^3: クラスは遅い? |
クラスだからといって動的配列の取り扱いが複雑になるわけではありませんよ。
プロパティで配列受け渡しできますし。
'子フォーム
Private sAry() as String
Private lCol as Long
Private lRow as Long
'2次元行数
Public Property Let ArrayCol(ByVal newVal as Long)
lCol& = newVal&
End Property
'2次元列数
Public Property Let ArrayRow(ByVal newVal as Long)
lRow& = newVal&
End Property
'2次元配列受け取り
Public Property Get StringArray() as String()
StringArray = sAry$()
End Property
'2次元配列の確保
Public Function AllocateArray() as Boolean
ReDim sAry(lCol&, lRow&) as String
End Function
-----------------------------------------------
それと、Read_Fileという関数ですが、この場合子フォーム共通でしょうから
クラスに持たせて、メソッドとしてコールすればもっと楽にコードできますよ。
子フォームに
Public Function Read_File(ByVal strLoadFile as String) as Boolean
'ファイル読んで子フォームの変数(従来のSDIの様に)に格納
End Function
親フォームからは
Call FormChild.Read_File(strLoadFile)
としてやればよいかと。
----------------------------------------------------------------
FormはFormsコレクションに格納されていますので
For Each frmF In Forms
frmF.X = ****
Next frmF
でできます。
誤字・書式ミス色々あるかもですが、参考になればと思います。