VB2005、新米プログラマーです。
VB6.0で標準モジュールの追加をするとダイアログが開いて.BASのファイルを
追加できますよね?。VB2005ではモジュールの追加(標準がついていない)
をクリックするとコードが表示されて、VB6.0と違うのですが、.BASファイル
を追加したい時、どうすれば良いのでしょうか?
VBぶいびさん こんにちは
> BASファイルを追加したい時
VB6までと異なり、VB2005には「BASファイル」はありません。
代わりに用意されてるのが、
> モジュールの追加(標準がついていない)をクリックするとコードが表示され
ですので、これを使ってください。
実際、VB6製のプロジェクトをアップグレードウィザードで、VB2005にアップグレードすると、
「BASファイル」は、「モジュール」に変換されます。
参考リンク追加。
[Module ステートメント]
http://msdn2.microsoft.com/ja-jp/library/aaxss7da.aspx
VB.NETの言語仕様では、『標準モジュール』と呼ばれています。
…が、使われなくなってきています。
[@IT 第7回 VBのモジュールはオブジェクト指向に不要?]
http://www.atmarkit.co.jp/fdotnet/vbcheer/vbchher07/vbcheer07.html
大吉末吉さん こんにちは
ありがとうございます。
モジュールの追加(標準がついていない)で.BASのソースをコピペしたのですが
コンパイルエラーになってしまったのですが、基本的にはこの使い方で良いのでしょうか?(この方法しか思いつきませんでした。)
> .BASファイルを追加したい時、どうすれば良いのでしょうか?
VB2005 ではファイルの管理方法が変更されています。
ソースは通常、.bas ではなく .vb というファイルで管理されます。
VB6 は、標準モジュール/フォーム/クラス等が、それぞれ異なるファイルとして
管理されていましたが、VB.NET はそうではありません。
ひとつの .vb ファイルに、複数のクラスとモジュールを含める事もできますし、
ひとつのクラスを、複数の .vb ファイルで分割管理する事もできます。(Partial)
たとえば、 Foo.vb というファイルがあって、その中身を以下のようにすれば、
ひとつの Foo.vb 内に、モジュール定義とクラス定義とフォーム定義を
一度に書くことができます。
'===========
Module Module1
'
'この部分が、標準モジュール[Module1]の定義部
'
End Sameple
Class Class1
'
'この部分が、クラスモジュール[Class1]の定義部
'
End Class
'===========
# 実際には、異なる定義を一つのファイルに詰め込むような書き方は、
# 避けておいた方が無難です。
> ソースをコピペしたのですが
文法は似ていますが、細部は同一ではありませんので、単にそのまま
コピーするのではなく、元のコードの意味と VB2005 の機能を
理解した上で、適切なコードに書き直す必要があるかと思います。
その変換の手助けとして、アップグレード ウィザードなどを
補助的に利用する事ができるかと思います。
http://www.atmarkit.co.jp/fdotnet/special/vb6tovb2005mig03/vb6tovb2005mig03_02.html
アップグレード ウィザードを使ってみました。
Public Declare Function ImgGetNumOfDevice Lib "SDK.dll" (ByRef pNumOfDevice As Integer, ByRef pErrCode As Integer) As Integer
'UPGRADE_WARNING: 構造体 SERCH_INFO に、この Declare ステートメントの引数としてマーシャリング属性を渡す必要があります。 詳細については、'ms-help://MS.VSExpressCC.v80/dv_commoner/local/redirect.htm?keyword="C429C3A5-5D47-4CD9-8F51-74A1616405DC"' をクリックしてください。
このようなメッセージが大量に出ました。
ネットやヘルプを読んだのですが今ひとつわかりません。
ツイート | ![]() |