0

私たちのチームでは、新しいプログラマーがアプリケーションのすべてのソースにアクセスできるわけではありません。ソースにアクセスできるクラスのみに依存するプログラムフォームにアクセスする必要がある限り、すべて問題ありません。.dcu しかないユニットから他のクラスを使用する必要がある場合、dcu 内のクラスがインターフェイスを変更すると F2051 エラーが発生します。

両方を取得するクリーンな方法はありますか?

  • 新しいプログラマーからソースの一部を隠す可能性
  • 「非表示」ユニットのクラスが変更されたときの F2051 エラーを回避する

Delphi コードを中間表現にコンパイルする方法、ソースを非表示にしてコンパイルを許可する方法を探しましたが、何も見つかりませんでした。

4

3 に答える 3

8

インターフェイスの変更後にコードをコンパイルし、新しい .dcu をソースなしで使用する必要がある各プログラマーに配布してから、アプリケーションを再構築する必要があります。他に方法はありません。インターフェイスに変更がある場合、コンパイラはそれを必要とします。

于 2012-12-05T19:32:22.343 に答える
4

これらの「非表示」ユニットについては、.dcuを.pasと共にソース管理に配置し、それらが更新され、同期していることを確認します。
「承認された」開発者は新しい.pasを取得しますが、部下は.dcuのみを参照して取得します。

2 級プログラマーを獲得するという道を本当に進みたい場合は、それに伴う管理作業を行う必要があります。

そうは言っても、個人的には、バグを追跡して何が起こっているのかを理解しようとするときに、VCL ソース コードに足を踏み入れないことが多いです。
そして、私はそれを持っていないのが本当に好きではありません(いくつかの低レベルのDelphi SKUのように)

于 2012-12-05T21:22:22.393 に答える
1

ソースコードを読むことを信頼していない人と共有できる安定したバイナリユニットを本当に作成したい場合は、「秘密」ビットをDLLに入れ、残りのDLLからそのDLLをロードしてみませんか?コード。

これは「アプリケーション バイナリ インターフェイス」と呼ばれ、DLL からエクスポートされた単純な古いパスカル プロシージャを使用してネイティブに実行されるか、COM インターフェイスと COM タイプ ライブラリを使用して実行されます。

Delphi には DLL と BPL の両方のテクノロジがあり、ソース コードではなく、安定した ABI を持つものを作成するのに役立ちます。これにより、現在手にしているように聞こえるクレイジーで小さな混乱を回避するのに役立ちます。

于 2012-12-06T03:12:05.923 に答える