Inno Setup:ドロップダウンですぐに閉じるコンボボックス(アプリケーションを起動します)

ababeel

アプリケーションプールのリストを取得し、コンボボックスにアプリプールの名前を入力しています。問題は、OnDropDownイベントが呼び出されると、コンボボックスがほんの一瞬開いてからすぐに閉じることです。「ドロップダウン」されたままにはなりません。コンボボックスにすべてのアプリプールが表示されます。これが私のコードです:

function GetApplicationPoolList() : TArrayOfString;
var
  i, nExitCode: Integer;
  sFileLines: TArrayOfString;
  sTempFileName, sListAppPoolCmd: String;  
begin

    sListAppPoolCmd := ExpandConstant('{sys}') + '\inetsrv\appcmd list apppool /text:name'; 
    sTempFileName := ExpandConstant('{tmp}') + '\appPoolList.txt';
    if not ExecAppCmd(Format('%s > %s',[sListAppPoolCmd, sTempFileName]), nExitCode) then begin
      MsgBox('Could not get app pools', mbError, MB_OK);
    end else begin      
      LoadStringsFromFile(sTempFileName, sFileLines);
    end
    Result := sFileLines;
end;

// ==============================================

procedure OnAppPoolComboBoxDropDown(Sender: TObject);
var
  sAppPoolList: TArrayOfString;
  i: Integer;
begin

  // Clear existing
  appPoolComboBox.Items.Clear;
  // Populate the combo box with the application pools
  sAppPoolList := GetApplicationPoolList;  

  For i := 0 to GetArrayLength (sAppPoolList) - 1 do
    begin
      // ComboBox with Application Pool Names   
      appPoolComboBox.Items.Add(sAppPoolList[i]);      
    end;
  appPoolComboBox.ItemIndex := 0;
end;


function ExecAppCmd(params :String; nExitCode: Integer) :Boolean;
var
  execSuccessfully :Boolean;
  resultCode :Integer;
begin
  execSuccessfully := Exec('cmd.exe', '/c ' + '' + ' ' + params, '', SW_HIDE, ewWaitUntilTerminated, resultCode); 
  nExitCode := resultCode;   
  Result := execSuccessfully and (resultCode = 0);
end;

ここで何が起こっているのかわかりません。アドバイスをいただければ幸いです。

編集:ExecAppCmd問題のようです、コメントアウトするとコンボボックスが正常に動作します...理由はわかりませんが

マルティン・プリクリル

ドロップダウンが閉じるのは、アプリケーションの起動時にコンボボックスのフォーカスが一時的に失われたためと考えられます。

ドロップダウンでアプリケーションを呼び出すことは、時間がかかり、ユーザーエクスペリエンスを損なうため、悪い習慣だと思います。fromのように、以前にコンボボックスにデータを入力しCurPageChangedます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Inno Setup:ドロップダウンではなく、ラジオボタンでコンポーネントをリストとして表示する方法は?

分類Dev

Inno Setupを使用してJavaアプリケーション用のスタンドアロンの.exeインストーラーを作成できますか?

分類Dev

アプリはVisualStudioで正常にコンパイルされますが、Inno Setup5で作成されたインストーラーから起動するとクラッシュします

分類Dev

Inno Setup:インストール前に特定のアプリケーションを閉じるようにユーザーに通知するメッセージを表示する

分類Dev

Inno SetupのPascalコードから実行されたアプリケーション(サブインストーラー)に引数(/ verysilent)を渡します

分類Dev

Inno Setup の Run セクションの後にデスクトップ リンク アイコンを作成します。

分類Dev

Inno SetupPascalスクリプトで実行時にプリプロセッサからのデータのコレクションを評価します

分類Dev

Inno Setup [Run]セクションで別のプログラムを実行する前に、(Web)サーバーが起動するのを待ちます

分類Dev

MsgBox-クリックできないOKボタンを作成し、カウントダウンに変更します-Inno Setup

分類Dev

Inno Setup - コントロール/チェックボックスの動的配置

分類Dev

Inno Setupの[コード]セクションで64ビットDLLを使用する方法はありますか?

分類Dev

Inno Setup-ソフトウェアをインストールするフォルダー、スタートメニューフォルダー、デスクトップアイコンをすべて同じページに

分類Dev

Inno SetupのPATHでアプリケーション(Java)を見つける方法

分類Dev

Inno Script:アプリケーションがすでにインストールされている場合はパスワードをスキップします

分類Dev

Inno SetupでFinishボタンをクリックした後、カスタムチェックボックスに従ってファイルとプログラムを実行します

分類Dev

Inno Setupの同じ「CreateInputOptionPage」ページにチェックボックスとラジオボタンを配置できますか?

分類Dev

Inno-Setup:メッセージボックスで独自のボタンテキストを使用する

分類Dev

Inno Download Plugin: 存在しない場合はダウンロードをスキップします...?

分類Dev

Inno Setupで新しいバージョンのアプリケーションをインストールする場合にのみ、既存のデータファイルを上書きします

分類Dev

Inno Setup Licenseページで、チェックボックスを「同意する」ボタンに置き換えます

分類Dev

Inno Setup:TInputQueryWizardPageのコンボボックス

分類Dev

Inno Setup 6.1.1でオプションでダウンロードするファイルは、[ファイル]セクションにある必要がありますか?

分類Dev

Inno Setup:ファイルがプログラムのフォルダーに存在する場合はインストーラーウィザードを閉じます

分類Dev

Innoダウンロードプラグインで「ダウンロード中」メッセージをカスタマイズする

分類Dev

Inno Setupを使用してアプリケーションのバージョン番号を抽出します(ただし、4番目の番号は除きます)

分類Dev

Inno Setup:「プログラムのアンインストールまたは変更」で変更オプションを作成する方法

分類Dev

Inno Setup:「プログラムのアンインストールまたは変更」で変更オプションを作成する方法

分類Dev

Inno Setup:コードセクションでフォルダー、サブフォルダー、ファイルを再帰的にコピーします

分類Dev

Inno Setup:チェックボックスを表示せずにプログラムを実行する

Related 関連記事

  1. 1

    Inno Setup:ドロップダウンではなく、ラジオボタンでコンポーネントをリストとして表示する方法は?

  2. 2

    Inno Setupを使用してJavaアプリケーション用のスタンドアロンの.exeインストーラーを作成できますか?

  3. 3

    アプリはVisualStudioで正常にコンパイルされますが、Inno Setup5で作成されたインストーラーから起動するとクラッシュします

  4. 4

    Inno Setup:インストール前に特定のアプリケーションを閉じるようにユーザーに通知するメッセージを表示する

  5. 5

    Inno SetupのPascalコードから実行されたアプリケーション(サブインストーラー)に引数(/ verysilent)を渡します

  6. 6

    Inno Setup の Run セクションの後にデスクトップ リンク アイコンを作成します。

  7. 7

    Inno SetupPascalスクリプトで実行時にプリプロセッサからのデータのコレクションを評価します

  8. 8

    Inno Setup [Run]セクションで別のプログラムを実行する前に、(Web)サーバーが起動するのを待ちます

  9. 9

    MsgBox-クリックできないOKボタンを作成し、カウントダウンに変更します-Inno Setup

  10. 10

    Inno Setup - コントロール/チェックボックスの動的配置

  11. 11

    Inno Setupの[コード]セクションで64ビットDLLを使用する方法はありますか?

  12. 12

    Inno Setup-ソフトウェアをインストールするフォルダー、スタートメニューフォルダー、デスクトップアイコンをすべて同じページに

  13. 13

    Inno SetupのPATHでアプリケーション(Java)を見つける方法

  14. 14

    Inno Script:アプリケーションがすでにインストールされている場合はパスワードをスキップします

  15. 15

    Inno SetupでFinishボタンをクリックした後、カスタムチェックボックスに従ってファイルとプログラムを実行します

  16. 16

    Inno Setupの同じ「CreateInputOptionPage」ページにチェックボックスとラジオボタンを配置できますか?

  17. 17

    Inno-Setup:メッセージボックスで独自のボタンテキストを使用する

  18. 18

    Inno Download Plugin: 存在しない場合はダウンロードをスキップします...?

  19. 19

    Inno Setupで新しいバージョンのアプリケーションをインストールする場合にのみ、既存のデータファイルを上書きします

  20. 20

    Inno Setup Licenseページで、チェックボックスを「同意する」ボタンに置き換えます

  21. 21

    Inno Setup:TInputQueryWizardPageのコンボボックス

  22. 22

    Inno Setup 6.1.1でオプションでダウンロードするファイルは、[ファイル]セクションにある必要がありますか?

  23. 23

    Inno Setup:ファイルがプログラムのフォルダーに存在する場合はインストーラーウィザードを閉じます

  24. 24

    Innoダウンロードプラグインで「ダウンロード中」メッセージをカスタマイズする

  25. 25

    Inno Setupを使用してアプリケーションのバージョン番号を抽出します(ただし、4番目の番号は除きます)

  26. 26

    Inno Setup:「プログラムのアンインストールまたは変更」で変更オプションを作成する方法

  27. 27

    Inno Setup:「プログラムのアンインストールまたは変更」で変更オプションを作成する方法

  28. 28

    Inno Setup:コードセクションでフォルダー、サブフォルダー、ファイルを再帰的にコピーします

  29. 29

    Inno Setup:チェックボックスを表示せずにプログラムを実行する

ホットタグ

アーカイブ