2009-07-07 14 views
3

私のDelphiプログラムにサードパーティDLLの新しいバージョンを使用させる必要があります。私は新しいバージョンを使用することができますが、私が必要な場合は古いバージョンに戻すことができるようにしたいと思います。サードパーティのCOM DLLの新しいバージョン - Delphiで古いバージョンをインストールして保持する方法

オブジェクトの一部は、アプリケーション内のフォーム上に見えないオブジェクトです。その他私は実行時にインスタンス化します。

既存のバージョンを維持したまま、新しいバージョンのDLLをDelphiにインストールするにはどうすればよいですか?私はDelphi 2007を使用しています。

+0

ActiveXコントロールの設計時の登録についてお話ししていますか? –

+0

はい、Lars。それが私がやろうとしていることです。 – Dave

答えて

2

実行時(展開を含む)には、Win32アセンブリのサイドバイサイド共有(WinSxS)を使用して新しいバージョンのコンポーネントをアプリケーションで使用できるようにし、残りのシステムを既存のバージョンと連携します。 免責事項:私は実際にこれをやったことがない

しかし、設計時(Delphi)には、新しいインタフェースとコクラスが生成されない限り、特定のバージョンで作業する以外の方法はありません(この場合、 Delphiのラッパー)を変更しました。 Gamecatによって提供されるようなソリューションは、おそらくあなたの最善の策でしょう。

3

私たちはいくつかの製品を持っています。それらの一部は、異なるバージョンのDelphiと異なるバージョンの外部コンポーネントで開発されています。 (時には、移植/アップグレードはオプションではありません)。

この問題を解決するために、各製品に(ネットワーク)共有があります。また、製品の作業を開始する場合は、標準ドライブ(このケースではw :)をその共有にマップし、必要なバージョンのDelphiを起動します。そのようにして、各製品には独自の環境と独自のバージョンのコンポーネントがあります。

悪い点は、起動時にいくつかのポップアップを強制終了する必要があることですが、システムは正常に動作します。

もう1つの解決策は、仮想PCを使用することです。しかし、ライセンスシステムによってはそのような使用は許可されていません。

関連する問題