- PR -

クラスの宣言

1
投稿者投稿内容
damepg
大ベテラン
会議室デビュー日: 2003/03/19
投稿数: 229
お住まい・勤務地: 東京都内
投稿日時: 2003-05-08 15:57
VB.NETによるWeb開発をしています。
下記のClass、AAAをBBB(6)の様にして使用するには、どうしたら
よいのでしょうか?また、別の方法はありましたらご伝授願います。

Public Class AAA
Public FrameA(6) As Integer
Public FrameB(6) As Integer
End Class

Public Class BBB(6)
Public FrameA As Integer
Public FrameB As Integer
End Class
Izumi, Y.
ベテラン
会議室デビュー日: 2002/03/19
投稿数: 77
お住まい・勤務地: 東京
投稿日時: 2003-05-08 21:56
こういうことでしょうか。
コード:
Public Class BBB
  Public FrameA As Integer
  Public FrameB As Integer
End Class

Dim B(6) As BBB

damepg
大ベテラン
会議室デビュー日: 2003/03/19
投稿数: 229
お住まい・勤務地: 東京都内
投稿日時: 2003-05-09 10:19
Dim B(6) As BBB
Call func(BBB(6)) '上で宣言したクラスを関数の引数にまるごと渡したい!
'イメージ的には下記のことをしたいのですが。
Private Sub fuc(ByRef b As BBB)

for i=0 to 5
With b(i)
.FrameA = 1
.FrameB = 2
End With
next

end function

引用:

IZUMI Yusukeさんの書き込み (2003-05-08 21:56) より:
こういうことでしょうか。
<!-- BBCode Start --><TABLE BORDER="0" ALIGN="CENTER" WIDTH="90%" CELLSPACING="0" CELLPADDING="0"><TR><TD WIDTH="5%" NOWRAP><FONT SIZE="-1">コード:</FONT></TD><TD WIDTH="95%"><HR SIZE="1" WIDTH="100%"></TD></TR><TR><TD COLSPAN="2"><PRE>
Public Class BBB
Public FrameA As Integer
Public FrameB As Integer
End Class

Dim B(6) As BBB
</PRE><HR SIZE="1" WIDTH="100%"></TD></TR></TABLE><!-- BBCode End -->

damepg
大ベテラン
会議室デビュー日: 2003/03/19
投稿数: 229
お住まい・勤務地: 東京都内
投稿日時: 2003-05-09 11:33
下記の処理を行うと「オブジェクト参照がオブジェクト インスタンスに設定されていません。」で落ちるので、クラスのインスタンスを作成するためにNewしようと思うのですが、
そのやり方がわかりません。どうしたらよいのでしょうか?
よきアドバイスをお願いします。

Dim b() As BBB
ReDim b(6)

'画面の入力データをクラスに設定
Call Me.SetDataToClass(b)

Private Sub SetDataToClass(ByRef b As Object)

'T_adm_DailyReport_Info
With CType(b(0), DailyReportInfoClass)
.FrameA = 1
.FrameB = 2
End With

End Sub

feelmie
会議室デビュー日: 2002/10/19
投稿数: 17
投稿日時: 2003-05-09 16:00
「配列,new,vb」でand検索すればたくさん解説が出てきます。
このサイトにも、VB.netの解説ページでありますよ↓

連載  プロフェッショナルVB.NETプログラミング
http://www.atmarkit.co.jp/fdotnet/vb6tonet/index/index.html
1

スキルアップ/キャリアアップ(JOB@IT)