3

Delphi 7.0 から Delphi 2009 に移行して、最新の IDE と現在のテクノロジに対応したいと考えています。ターゲット プラットフォームは .NET です。この目標を達成するための最良の方法は何ですか?

4

6 に答える 6

3

D2007からD2009に導入された文字列処理を使用してUnicodeの状況を取り入れます。この手順に関連する変更は、アプリケーションに大きな影響を与える可能性があります(これはあなただけが判断できます)。また、使用しているサードパーティのツール/ライブラリ/コンポーネントを検討する必要があります。すべてがまだD2009にジャンプしたわけではなく、あまり人気のないコンポーネントの中には、まったくジャンプしない可能性があります。

より賢明な方法の1つは、 D7をD2007に移行することです(これはよく踏まれた方法であり、多くの勝利と価値のある改善があり、ほとんど痛みがありません)。次に、.Netへのジャンプをより適切に評価できる、最新の安定した、かなり最新の、サポートされているDelphiプラットフォームを使用します。

この最後の段階についての私自身の意見は、他のコメントのいくつかを反映していることを覚えておいてください。.Netから大きな勝利が得られない限り、Delphiから離れる理由はわかりません。さまざまなランタイムとサービスパックの最新の要件により、DelphiはWin32開発にますます 実行可能な 関連ツールになりつつあると思います。コードをD7からD2007/D2009に進化させるか、D7から.Netにジャンプします。一方を実行してからもう一方を実行するのは少し奇妙に思えます!

于 2008-09-25T10:10:39.080 に答える
3

D2009 は win32 バージョンであり、.net ではないことに注意してください。最初に D2009 に移動し、次に .net に移動する 2 つのステップのパスを作成したいと思いますか?

幸いなことに、Delphi は非常に安定したプラットフォームであり、古いアプリケーションを最新バージョンに変換するのははるかに簡単ですが、考慮すべき点が異なります。

アプリケーションが BDE を使用して Db にアクセスしている場合は、ADO や DBX などの他のテクノロジを使用するように変換します。

サード パーティのコンポーネントを使用する場合は、D2009 や .NET のバージョンが存在することを確認してください。

非常にデリケートな側面は弦の取り扱いです。文字列を「普通に」使うなら大きな問題はないはずですが、C言語のように文字列を「バイトバッファ」として使う場合は注意してその部分を書き直さなければなりません。経験則は、「コード内のすべての PChar を取り除くようにする」ことです。

于 2008-09-25T09:40:54.500 に答える
2

Delphi 2009は Win32 のみを対象としています。.NET の場合、.NET 用の Delphi パーソナリティが付属するRAD Studio 2007を使用できます。単純な VCL アプリケーションを、.NET 2.0 フレームワークをターゲットとする VCL.NET に移植するのはかなり簡単です。ただし、サードパーティのコンポーネントとライブラリを使用する場合は、それらの .NET の代替も確認する必要があります。

これが面倒な場合、または最新の .NET フレームワークをターゲットにしたい場合は、Microsoft の Visual Studio と C# を使用してプロジェクトを最初から書き直したほうがよいかもしれません。

免責事項: 私は Delphi Win32 プロジェクトを .NET に移植した経験がないので、これは私の謙虚な意見です。

于 2008-09-25T10:01:25.060 に答える
2

Delphi 7 から Delphi 2009 への移行はおそらく簡単です。小さな変更しかありませんでした (最近議論された ANSI から Unicode 文字列への移行など)。ただし、.NET への移行はそれほど簡単ではありません。GUI の移行を可能にする VCL.NET がありますが、その他の重大な機能は機能しません。そのため、Win32 コードと .NET コードを組み合わせて、COM を使用することを考えるかもしれません。(あなたがすでに COM を知っていることを願っています。そうでなければ、これはおそらくオプションではありません;-))

于 2008-09-25T09:39:12.837 に答える
1

移植は決して簡単ではありません。ただし、Delphi と .NET のセマンティクスは非常に似ています。どちらも Anders Hejlsberg がリード アーキテクトだったからです。ほとんどの場合、Win32 VCL 呼び出しを同等の VCL.NET のものに置き換える必要があります。

Delphi 言語と .NET 言語 (主に C#) の両方に 1 つの IDE を使用できるため、CodeGear RAD Studio にアップグレードすることをお勧めします。

あるテクノロジーから別のテクノロジーに移行するときに、多くの場合、コントロールの交換に立ち寄ることができました. たとえば、コードを実際に変更することなく、BDE データベース コントロールを ADO.NET の代替物に置き換えることができました。最終的に、あなたはコードを所有し、私たちの誰よりもよく知っています。

Win32 実行可能ファイルのサポートが非常に優れているのに、なぜ .NET フレームワークをターゲットにしたいのでしょうか? Delphi はすでに業界のごく一部に過ぎず、Delphi with .NET はさらに小規模です。Delphi は、常に .NET の世界で二流の市民であり続けます。Delphi はすでにファースト クラスの Win32 シチズンです。

于 2008-09-25T09:43:08.600 に答える
1

上記の Giacomo の回答に続いて、BDE を使用している場合は、MicroOlap の DAC http://www.microolap.com/を提案できます。これにより、コードを別のものに変換する必要がなくなり、多くの時間を節約できます。PostgresDAC を使用しています。この製品は非常に安定しており、高速です。

于 2008-09-25T11:00:21.347 に答える