投稿者 魔界の仮面弁士  () 投稿日時 2008/2/27 00:07:00
> 値が渡される前に参照によって呼び出されています 
こういう時には、メソッドの実装を 
 Sub subLoadfile(ByVal fname As String, ByRef dataline As String()) 
にするのではなく、 
 Function LoadFile(ByVal fname As String) As String() 
にした方が良いでしょう。 
 
そして、 
 Dim backdata() As String = LoadFile(backdata) 
のようにすれば、エラーも出ないはずです。 
 
 
どうしても ByRef で処理したいのであれば、 
 Dim backdata(-1) As String 
もしくは、 
 Dim backdata() As String = {} 
のように、「長さゼロの配列」を入れておくか、または 
 Dim backdata() As String = Nothing 
などとしておけば、警告は消えます。 
 
(つまり、使う前に何でも良いから値を入れておくということ) 
 
 
もしくは、コンパイルオプションの「割り当て前の変数の使用」を 
[警告]から[なし]に切り替えて運用するという方法もあります。