tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^2: ini.ファイルの設定
投稿日: 2004/02/16(Mon) 10:16
投稿者フレッシュ
[OSのVer]:Windows    [VBのVer]:VB.NET  
> > Geberalとは書かれてないのでどこに書いていいのでしょうか?(^^; (VB6.0は書いてあった
ような)
> Geberal ではなく、General ですよね。
どうもすいません。 General です・・・(汗)
>
> VS.NET 2003では、リスト中の (全般) というのが VB6 の General に相当します。
>
> ただ、VB6では、全てのプロシージャの前(かつ、Option Explicitの後)に宣言文を書く必要が
> ありましたが、VB.NETでは、ModuleやClassの内側であればどこでもOKとなっています。
> (プロシージャ内での宣言はできませんが)
>
> 例えば、
>   Public Class Form1 : Inherits System.Windows.Forms.Form
>     Private Declare ……  '★★ここに記述★★
>     Private Sub Form1_Load(…)…
>        '
>        '
>     End Sub
>   End Class
> のような書き方もできますし、
>   Public Class Form1 : Inherits System.Windows.Forms.Form
>     Private Sub Form1_Load(…)…
>        '
>        '
>     End Sub
>     Private Declare ……  '★★ここに記述★★
>   End Class
> などと書く事も出来るという事です。
>
>
> > ByVal lpKeyName As Anyの
> あれ? この引数を Any型にしている理由は何ですか?
> たとえVB6だとしても、この引数を Anyにする必要性が感じられないのですが…。
インターネットで調べた所、構文をそのままコピーすれば出来ると書いてあったので
Any型を使用したところ、エラーが発生・・・。(;;)
>
>
> > 'As Any' は、'Declare' ステートメントではサポートされていません。というエラーが返っ
てきて
しまいます
> 引数型のオーバーロードがサポートされたため、Anyは廃止されました。
> 適切な型(As Stringなど)に置き換えてください。
>
> 例えば、「Stringを渡すこともあるし、整数を渡すこともある」というAPIなら、
>    'for VB6
>    Private Declare Sub hage Lib "hige" (ByVal hoge As Any)
> と書くかわりに、
>    'for VB.NET
>    Private Declare Sub hage Lib "hige" (ByVal hoge As String)
>    Private Declare Sub hage Lib "hige" (ByVal hoge As Int32)
> のように、同じ関数名を異なる引数宣言で2重定義すればOKです。
>
>
> # ちなみにVB6の場合は、オーバーロードができないため、Anyを使わずに対処する場合は、
> #   Private Declare Sub hageByString Lib "hige" Alias "hage" (ByVal
hoge As String)
> #   Private Declare Sub hageByLong   Lib "hige" Alias "hage" (ByVal
hoge As Long)
> # のように、関数名そのものを変更する必要がありました。

ご教授どうもありがとうございました。
またわからないことがありましたらよろしくお願いします

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。