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