こんにちは私はinteropを使ってC#コードをDelphiで呼び出します。 C#コードにはバイナリがあり、Delphi 5でMenu:Project - > Import Type Library Addをクリックして、tlbファイルを追加します。XXXX.tlb Unit dir name:delphi XXX_TLB.pasファイルが生成されるパスを入力します。生成されたTLBファイルをきれいに保つには?
C#のDLL、TLBおよびデルファイXXX_TLB.pasがすでにあった場合。今、私はC#コードでもう一つの関数を追加し、Delphiもこの関数を呼び出すことを願っています。私はC#を再コンパイルし、delphi XXX_TLB.pasファイルを再生成する必要があります。しかし、上記の手順を実行すると、新しく生成されたXXX_TLB.pasに新しく追加された関数が含まれているように見えますが、XXX_TLB.pasの関数の順序は以前と全く異なります。
例えば、私のC#のバイナリに私が持っている機能: 関数func1を(); func2(); func3(); func4(); //新しく追加された
古いXXX_TLB.pasでは、関数の順序は次のとおりです。 func1(); func2(); func3(); XXX_TLB.pasは次のようになります。 func1(); func3(); func4(); func2();
XXX_TLB.pasはまだ使用することができますが、ない機能の違いのように見えますが、私はTFSにチェックインするとき、私はそれが透水性のバージョンから大きく変化ご覧ください。この新しいXXX_TLB.pasを以前と同じ順番に保つ方法はありますか?私の機能も追加しますか?どうやってするか?ありがとう!
私はそれが再配列されているクラスラッパーであると信じています。これは実行可能な順序を変更するため、COMインターフェイスには発生しません。 –