私の同僚は、AutoIt で COM オブジェクトを早期バインドできないと主張しています。これは本当ですか?
1 に答える
3
AutoIt は、コンパイルされてもインタープリター言語です。コンパイルの実際のプロセスは、コードをインタープリターに埋め込むだけです (一部のプリプロセッサー要素は、インクルードのように整理されます)。
その結果、コンパイル時がないため、バインディングをコンパイル時に行うことはできません。これは、以下が正常にコンパイルされ、エラーが検出されないことを意味します。
$oShell = ObjCreate("shell.application")
If False Then ConsoleWrite($oShell.LolWut & @LF)
それを実行しても何も起こりません。$oShell.LolWut は評価されないため、エラーは発生しません。ステートメントを実行する if テストで試してみると、次のようになります。このオブジェクトで要求されたアクションは失敗しました。
編集:実装の詳細については、こちらの返信にも注意してください。
于 2011-05-05T16:35:01.760 に答える