2

DXE IDE のアクションの数が増えると、単一のアクションリストでは、検査または変更するアクションをすぐに見つけることが難しくなります。

コンポーネントのような検索/フィルター ボックスはなく、アクションは自動的に並べ替えられません。コード内のアクション宣言を並べ替えても、アクションリスト エディターに表示される順序は変わりません。

インクリメンタル検索でさえ機能しません。アクションリスト ペインにフォーカスして入力を開始すると、キーを押すとオブジェクト インスペクターが表示されます (そして、誤っていくつかのプロパティを変更してしまいます)。大迷惑!

おそらく隠し設定、レジストリ ハック (Delphi にはかなりの数があります)、またはアクションをソートし続けるサードパーティの拡張機能はありますか?

4

2 に答える 2

4

Sort オプションを使用して TActionList のコンテキスト メニューを拡張する小さな IDE プラグインを作成します。アクションリストを並べ替えるには、次のコードを使用できます。

procedure SortActions(ActionList: TActionList);
var
  act: TContainedAction;
  arr: TArray<TContainedAction>;
  I: Integer;
begin
  SetLength(arr, ActionList.ActionCount);
  for I := 0 to ActionList.ActionCount - 1 do begin
    arr[I] := ActionList[I];
  end;
  TArray.Sort<TContainedAction>(arr,
    TDelegatedComparer<TContainedAction>.Create(
      function(const Left, Right: TContainedAction): Integer
      begin
        result := CompareText(Left.Name, Right.Name);
      end));
  for I := 0 to High(arr) do
    arr[I].Index := I;
end;
于 2011-09-17T21:59:16.147 に答える
2

dfm ファイルでそれらを並べ替えることができます。それを行うには、小さなユーティリティ スクリプトを作成する必要があります。

または、回避策として、カテゴリを使用してアクションのリストを管理しやすくすることもできます。

于 2011-09-17T16:30:01.373 に答える