1

現在、dll の経験はありません。私のアプリケーションは、複数のフォームとユニットを含む複数のプログラムで構成されています。今、私はそれらすべてを「一緒に」置きたいと思っています。つまり、これらの個別のプログラムをdllから呼び出す1つのログインが必要です。

プログラム自体にいくつかのユニットがあるので、私の質問は、複数のフォーム/ユニットを 1 つの DLL に入れることができるかどうかです。(完全なプログラム) 次に、プログラムを dll として呼び出すことができます。

これまで、プログラムは個別に実行されていたため、プログラム間に依存関係はありませんでした。それらの中にカスケード フォームがあります (Form1 は Form2 または form3 または ... を呼び出します)。それらをすべて 1 つの dll にまとめることができない場合、dll をカスケードできますか (つまり、dll 1 を呼び出すと dll1 が dll 2 を呼び出します)?

Delphi 2007 / XE と Firebird 2.x を IBDac 経由で使用しています

ティア

4

3 に答える 3

2

DLL 内と EXE 内の Application オブジェクトのインスタンスは別々になることに注意してください。Application.Handle を Exe から DLL に渡して設定する必要があります。そうしないと、Windows タスクバーに別のアプリケーション ボタンが表示されます。

于 2012-07-22T19:30:46.407 に答える
1

はい、DLL に必要な数のユニットを入れることができます。これらのユニットは、他の Delphi プロジェクトと同様に、関連付けられたフォームを持つことも、持たないこともできます。

于 2012-07-22T16:05:24.543 に答える
1

DLL を使用する特定の理由 (他のプログラミング言語から呼び出したり、他のプログラミング言語で記述したりできるなど) がない場合は、代わりにパッケージの使用を検討する必要があります。

ユニットとフォームを好きなだけパッケージに入れることができますが、ユニット名は一意でなければならないことに注意してください: 同じユニットを含む複数のパッケージをロードすることはできません (ただし、これらのユニットを複数のパッケージで使用される別のパッケージに入れることはできます) )。

于 2012-07-23T07:49:01.863 に答える