OLEオートメーション接続 VB→Delphi書き換えで、メンバが見つかりません
OLEオートメーションサーバへ接続するアプリケーションを VBからDelphiに書き換えていた時に「メンバが見つかりません」が頻発
Delphi ではメソッドの引数は( )、プロパティの引数は [ ]
VBでは、メソッドの引数もプロパティの引数も ( )
なので、該当メンバがプロパティの場合 [ ] に変更しなくてはならない
また、引数なしのプロパティに () をつけても同様の結果に
資料がない場合、どちらかの環境でタイプライブラリを取り込んで、定義を確認すると明確になる
Sub Hogehoge() Dim SV As Object Dim S As String Set SV = CreateObject("Hoge.hoge") Set S = SV.GetStr("key") Set SV = Nothing End Sub
procedure Hogehoge() var SV: OleVariant; S: String; begin SV := CreateOleObject('Hoge.hoge'); S := SV.GetStr('key'); // GetStr がプロパティの場合 SV.GetStr['key']; SV := Unassign; end;
Delphi ではメソッドの引数は( )、プロパティの引数は [ ]
VBでは、メソッドの引数もプロパティの引数も ( )
なので、該当メンバがプロパティの場合 [ ] に変更しなくてはならない
また、引数なしのプロパティに () をつけても同様の結果に
資料がない場合、どちらかの環境でタイプライブラリを取り込んで、定義を確認すると明確になる
コメント