3
Inno Setupプロジェクトで非同期WMIクエリを実装しようとしています。しかし、私はイベントの定義に苦労しています。私は私が私のイベント定義が間違っていると仮定していますInnoの非同期WMIクエリ
objSink.OnCompleted := @WMI_OnCompleted;
ライン上Type mismatch
エラーを取得しています。イベントの正しいオブジェクトタイプを見つけるにはどうすればよいですか?
procedure QueryWMIAsync(Qry: string; var objSink: Variant);
var
WbemLocator, WbemServices, WbemObjects: Variant;
begin
log('WMI AsyncQuery: '+Qry);
try
WbemLocator := CreateOleObject('WbemScripting.SWbemLocator');
objSink.OnCompleted := @WMI_OnCompleted; //<----- Error: Type mismatch
objSink.OnObjectReady := @WMI_OnObjectReady;
WbemServices := WbemLocator.ConnectServer('localhost', 'root\CIMV2');
WbemServices.ExecQueryAsync(objSink, Qry);
except
MsgBox('ERROR on WMI Query <'+Qry+'>: '+GetExceptionMessage,mbError,MB_OK);
end;
end;
procedure WMI_OnCompleted(hResult: HRESULT; error: Variant; asyncContext: Variant);
begin
end;
私はそのことも可能わかりません。とにかく何をしたいですか?結果を待っている間にあなたは何をしますか? –
私はクエリが実行されている間に画像を表示したいと思います。ユーザーがそれをクリックすると、Webページが開かれます –
うわー。これは本当に高度なものですが、私は+1が好きです。しかし、Inno Setupではそれができないと思います。 – Slappy