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では、メソッドの引数もプロパティの引数も ( )
なので、該当メンバがプロパティの場合 [ ] に変更しなくてはならない
また、引数なしのプロパティに () をつけても同様の結果に
資料がない場合、どちらかの環境でタイプライブラリを取り込んで、定義を確認すると明確になる

コメント