2

1999年に作成した古いDelphi3プロジェクトを新しいバージョンにアップグレードし、機能を追加するという割り当てを受けました(これについては、ここここの関連する質問で以前に説明しました)。適切なルートは、最初に開発環境をDelphi 2010にアップグレードしてから、アプリケーションを移植することだと思いました。

Unicodeの複雑さを回避するために、代わりにアプリケーションをDelphi2007の既存のコピーにアップグレードするかどうかを検討しています。このアプリケーションは、米国内の1つの会社で実行され、1つの州の要件に厳密に拘束されているため、Unicodeサポートの恩恵を受けることはありません。

私の質問は次のとおりです。Unicodeの問題に対処するための追加の手間は、最新バージョンのDelphiを使用することの利点を上回りますか?私はUnicodeの経験がないと思われるかもしれません。

4

6 に答える 6

3

最新ではないバージョンに「アップグレード」する理由は、以前の「次のアップグレード」を保証するだけです。私はDelphi2010に非常に満足しています。D2010で利用できないサードパーティのライブラリを使用しない限り、そのバージョンに移植することをお勧めします

于 2009-10-28T05:12:53.737 に答える
3

D2010トライアルで試してみて(アップグレード)、結果として生じる合併症の種類を感じるために1日かそこらを与えてください。一般に、ポインタ演算に多くのPCharを使用せず、Code [1]:='A'などの文字列のサブ範囲を使用しなかった場合、アップグレードはほとんどまたはまったくないはずです。問題。Unicodeのアップグレードを除けば、D2010 IDEの方がはるかに使いやすく、D2007よりも高速に見えます。

于 2009-10-28T06:29:37.310 に答える
2

彼らはDelphi2009でUnicodeを実装するのに非常に優れた仕事をしており、文字やバイトを使ったトリックを行わないほとんどのプログラムは問題なく変換されます。

注意点は、サードパーティのパッケージを使用していない場合に限ります。もしそうなら、あなたはそれらをアップグレードする必要があります。アップグレードがなく、ソースコードがない場合は、Delphi2010にアクセスしない方がよい場合があります。

しかし、可能であればジャンプします。やったし、やったことがうれしい。

于 2009-10-28T02:29:19.977 に答える
2

D2007は、おそらくUnicodeで動作するようにコードを変更する必要がないため、アップグレードが簡単な場合があります。また、コードに多くのPCharやその他のANSI専用関数が必要ない場合は、Delphi2010で多くの機能がなくても動作する可能性があります。仕事。

ただし、Delphi 2010にアップグレードするための時間とリソースがある場合は、Delphi 2009以降のバージョンが標準バージョンになるため、より適切なオプションになります。

また、IDEの生産性は、ジェネリックス、匿名メソッドなど、コードの一部を書き直す場合にコードを改善する新しい言語の追加に加えて、D2010の方が高くなっています。

于 2009-10-28T07:15:51.597 に答える
0

ここを参照してください。D2010に来るとき、それは物事を混乱させる可能性があります。

于 2010-07-22T17:24:53.477 に答える
0

"場合によります"

これは、サードパーティのコントロールの数とそれらのコントロールの現在の状態によって異なります。(2007年と2010年のアップデートでまだ市場に出ていますか?)

コードサイズとコード品質によって異なります。大規模で緩く管理されたコードベースがある場合、2010年への道は難しくなります。

また、(主に)プロジェクトの入力/出力に依存します...ファイル/データベース/通信から読み取っていますか?それらはUnicodeにどのように反応しますか、または適切な処理を確実にするためにそれらのすべてのタッチポイントを簡単に絞り込むことができますか?

もう1つの大きな依存関係は、アプリケーションの寿命です...「Unicodeに移行する」は、このアプリケーションを長期的にサポートする場合、最終的には2007年の販売を停止し、強制されるため、より役立つ可能性があります。 。

私は2009年を所有しており、それを使用してマイナーなアプリケーション/ユーティリティを構築しましたが、プロジェクトに応じて、主な作業は2007年、2006年、D7、およびD5のままです。

于 2009-10-28T02:36:49.930 に答える