none
配列を引数に宣言するときの方法 RRS feed

  • 質問

  • VB6では、

    読み出し元 : If DenTpnWrite(IpToriKBN,DelKBN,IpDate,IpAiteCD1,IpDenNo1,PrTpnID(),PrTpnGyo(),PrTpnBCD())=FAIL Then

    読み出し先 : Private Function DenTpnWrite(ToriKBN,DelKBN,DenDate,AiteCD,DenNo,PrTpn(),PrTpnGyo(),PrTpnBCD()) As Long

    Global PrTpnID(MAXTPN - 1)

    Global PrTpnGyo(MAXTPN - 1)

    Global PrTpnBCD(MAXTPN - 1)

    上記のように使用でると思うのでですが、VB.Net(下記)ではうまくいきません。.NETは初心者なので、どのように書けばよいか伝授お願いします。

    読み出し元 : If DenTpnWrite(IpToriKBN, IpDel, IpDate1, IpAiteCD1, IpDenNo1, PrTpnID, PrTpnGyo, PrTpnBCD)=FAIL Then

    読み出し先 : Private Function DenTpnWrite(ByRef ToriKBN As String, ByRef DelKBN As Integer, ByRef DenDate As String, ByRef AiteCD As String, ByRef DenNo As Integer, _
                                     ByRef PrTpnID() As String, ByRef PrTpnGyo() As Integer, ByRef PrTpnBCD() As String) As Long

    Public PrTpnID(MAXTPN - 1) As String
    Public PrTpnGyo(MAXTPN - 1) As Integer
    Public PrTpnBCD(MAXTPN - 1) As String

     

    下線部のところの書き方がわかりません(あっているでしょうか?)

     

    2011年5月13日 5:11

回答

  • 文法的には合っています。ただ、ByRefの代わりにByValを使って、ByVal PrTpnGyo() As Integer, ByVal PrTpnBCD() As Stringと書くこともできます。この場合、読み出し元の引数と読み出し先の引数は別物になりますので注意して下さい。(ByRefの場合は、同じ物を指すことになります)

     


    ★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://d.hatena.ne.jp/trapemiya/
    • 回答としてマーク 京太郎 2011年5月13日 5:46
    2011年5月13日 5:26
    モデレータ

すべての返信