4

Delphi 2010 で作成されたソフトウェアがあり、2 つの異なる部門から使用する必要があり、ボタンの非表示/追加、フォーム、グリッド列などのいくつかの変更を除いて、両方とも同じデータと同じ UI を共有しています。したがって、同じアプリケーションの 2 つのバージョンが必要です。

アプリケーションの起動時に、別の EXE を使用する必要がある部門を選択するようにユーザーに求めることはできません。

Delphi 2010 または XE3 (後でアップグレードします) 内でそれを行うための最良のアプローチ (概念) は何ですか? 別のexe名でコンパイルすることは可能ですか?

4

4 に答える 4

9

メンテナンスの悪夢のように聞こえるので、ログインや設定ファイルなどのコメントで提案されているような他の解決策を検討してください。

個別のexeを作成したい場合は、コンパイラ定義を使用し、コードのdefine in/exclude部分に基づいて使用できます。

新しい構成を追加します。

ここに画像の説明を入力

定義を構成に追加します。 ここに画像の説明を入力

コードで define を使用します。

{$IFNDEF ADVANCED}
   // Remove Event Handler
   Button1.OnClick := nil;
   // Hide Button
   Button1.Visible := False;
{$ENDIF}
于 2013-03-28T13:24:52.903 に答える
9

これに対するいくつかの解決策を考えることができます:

  • リリース アプリケーションに INI ファイルを提供 (またはクライアント マシンでレジストリ キーを作成) して、アプリケーションが提供する部門を指定/決定します。TIniFile次に、またはを介し​​て値を読み取りますTRegistry。例: INI ファイル ( MyApp.ini):

    [選択肢]
    部署=営業

  • プログラムへのショートカットを作成し、パラメーターを使用します"MyApp.exe /sales""MyApp.exe /support"ParamStr(1)/sales/support

  • 2 つの別々のプロジェクト ファイルを使用し、各プロジェクト オプションでディレクティブConditionals定義SALESSUPPORTます。(コンパイル前にプロジェクトの *.dcu ファイルを削除するビルド前のスクリプトがあります)。{$IFDEF SALES}...{$ENDIF}

于 2013-03-28T13:37:33.363 に答える
0

できることの 1 つは、最初のプロジェクトを作成することです。アプリケーションを作成します。

次に、同じフォルダーに 2 番目のプロジェクトを作成し、最初のプロジェクトのすべてのユニットをそのプロジェクトに追加します。

2 番目のプロジェクトで、小さな変更のみが必要な場合は、たとえば、最初のプロジェクトのメインフォームから新しいクラスを派生させ、それに変更を加えることができます。

そうすれば、2 つの exe がありますが、コードベースは共有されます。

于 2013-03-28T23:02:53.070 に答える
0

アプリケーションにパーミッション システムが必要です。これは、さまざまなグループやプロファイルに合わせてカスタマイズできます。また、アプリケーションを使用するすべてのエンド ユーザーにロールまたは特定のパーミッションを割り当てたり、独自に開発したり、依存したりできます。TMS Security Systemなどのサードパーティ

ここに画像の説明を入力

于 2013-03-28T13:25:07.803 に答える