9

開発ツールに関しては、私はためらうアップグレード担当者です。私の製品の約半分はまだ D7 を使用しており、残りは D2006 です。

真実は、Unicode サポートは歓迎され、非常に便利ですが、現在のプロジェクトで得られるものよりも多くの問題を引き起こす可能性があるということです (多かれ少なかれ、すでに Unicode に対応しています)。特に、各文字列が以前の 2 倍のメモリを使用すると、パフォーマンスが大幅に低下する場合があります。

では、Unicode はさておき、アップグレードする他の主なインセンティブは何ですか?

4

10 に答える 10

13

物事を概観するために、Delphi7とDelphi2007の間に追加されたものを見てください。これは重要な最高水準点でした。

http://blogs.codegear.com/nickhodges/2007/03/28/33579

http://www.stevetrefethen.com/blog/VCLAndRTLEnhancementsSinceDelphi7D7.aspx

Delphi 2009は、基準をさらに高く設定します。

http://blogs.codegear.com/pawelglowacki/2008/11/03/38527

http://blogs.codegear.com/chrispattinson/2008/09/19/38897

これが私のお気に入りのいくつかです:

  • RTLのジェネリック(当然)およびジェネリックコレクション。

  • 共通の基本構成から継承するビルド構成が改善されました。

  • COM依存関係の削除を含むDataSnapの改善。

  • Delphi 2007よりも高速で安定したIDEであり、これは前屈みではありませんでした。

これらを本番環境でどのように使用するかはわかりませんが、匿名メソッドが本当に優れていることを認める必要があります。人々がどのようにそれらを糸脱毛で使用することになったのか知りたいです。

Unicodeサポートについての2つのこと(私のもう1つのお気に入り)。

  • 既存のUnicodeプロジェクトを変換すると、パフォーマンスが大幅に向上する可能性があります。私はやったことを知っています。

  • 文字サイズを想定したコードの変換には注意が必要です。既存のコードがUnicodeに対応している場合は、おそらく多くの問題は発生しません。

http://dn.codegear.com/article/38437

http://dn.codegear.com/article/38498

http://dn.codegear.com/article/38693

于 2008-11-20T13:16:54.173 に答える
9

まず第一に、パフォーマンス ヒットがそれほど多くないことに気付くとは思いません。

これを見てください

ジェネリックだけでもアップグレードする価値があると思います。匿名メソッドが続きます。

于 2008-11-20T11:41:55.503 に答える
8

私は最近、主にUnicodeのために、Delphi4からDelphi2009にアップグレードしましたが、私のバージョン以降、Delphiのあらゆる場所で多くの改善が行われたためです。

しかし、アップグレードしたときに私が最も喜んだ予期しない改善は、新しいIDE(統合開発環境)でした。Delphi 7以前のバージョンには、ドッキングされていないレイアウトがあり、私は夢中になりました。これで、サイズ変更や移動が簡単にできる1つのドッキングフォームになりました。すべてのプログラミングタスクを容易にする多くの改善は言うまでもありません。プログラミング時間はすべてIDEの前で過ごすので、少しでも簡単にできるので時間の節約になります。

コードをデバッグおよびステップスルーする場合、デフォルトですべてのローカル変数が監視されます。それは非常に役に立ちます。

FastMMメモリマネージャが組み込まれています。

そして、Delphi4とDelphi2009の両方がインストールされており、どちらか一方、または両方を同時に実行できます。変換されたプログラムが正しく機能していることを確認するために両方を一緒にデバッグおよびステップスルーできるため、これはプログラムを変換するときに非常に役立ちました。

また、Embarcaderoは、Borland、次にCodeGearが以前のすべてのバージョンの所有者に対して行った特別なアップグレード価格を引き続き提供します。彼らはそうする必要はありませんでしたが、それはDelphiの早期採用者をVIPとして扱うという彼らの側の大きな動きです。

何が嫌いですか?さて、Delphi4は2秒で起動しました。Delphi 2009の所要時間は約15ですが、その後は高速です。また、コードをステップスルーすることは、インライン化されることが多いため、CPUコードに入る頻度がはるかに高く、それを回避する方法はないと思います。

Unicodeが必要な場合は、アップグレードについてよく考えないでください。

Unicodeが必要ない場合でも、Delphi 7以前からの十分な改善があり、最終的にジャンプする価値があります。

于 2008-11-21T00:38:28.230 に答える
6

スティーブが言ったように、主要な言語の追加は大きなプラスです。しかし、別のことがあります。

Delphi はここ数年、荒天に見舞われていました。そして、それはバージョンに反映されました。7 が最後の適切なバージョンで、2006 年は妥当でしたが、それでも平均を下回っています。しかし2009年、新しい時代が始まりました。Delphi は新しい家を見つけました。そして、最高の開発ツールであることに再び焦点が当てられています。まだ解決しなければならないバックログがいくつかありますが、私に関する限り、Delphi は順調に回復しています。

于 2008-11-20T11:49:05.210 に答える
4

Delphi 2009は、Delphi 2007よりもはるかに安定していることが証明されています。アップグレードするには、私だけで十分です。delphi2007のバグやクラッシュは、非常に煩わしく、ストレスがたまります。

于 2008-11-20T13:12:20.127 に答える
4

2つのこと。安定性は 2006 および 2007 よりもはるかに優れています (言うまでもなく、インストールも実行も高速で、数百メガバイトの RAM を消費する厄介なメモリ リークもありません)。のバージョン。しかし、言語の改善に関しては、話し合うべきことがたくさんありますが、私にとって最も重要なのは、ジェネリックのサポート、特に新しい組み込みの Generics.Collections ユニットです。最後に、私たちがよく知っているこの醜いイディオムはもうありません。

for i := 0 to myObjectList.Count - 1 do
begin
  currentObject := myObjectList[i] as TMyObjectType;
  currentObject.WhateverYoureDoingWithIt;
  ...
end;

代わりに、 MyObjectList をジェネリック ベースの として宣言するとTObjectList<TMyObjectType>、型変換が処理され、パッケージの一部として無料の列挙子 (別名反復子) がスローされます。ループは次のようになります。

for currentObject in myObjectList do
begin
  currentObject.WhateverYoureDoingWithIt;
  ...
end;

Unicode と無名メソッドは素晴らしいものであり、特に Unicode は一部の人々にとって不可欠かもしれませんが、個人的に私のお気に入りの改善点は、醜いリスト アクセスの終わりです。

于 2008-11-26T00:38:01.457 に答える
2

ジェネリックコレクションと拡張されたForループにスピンを与えました(コードの視覚的な醜さを気にしないでください(たとえば、1行のif-then-else)):

program genericTList;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  Generics.Collections;

var
  myList : TList<string>;
  s: string;

begin
  myList := TList<string>.create;
  try
    myList.Add('Peter');
    writeln('Inviting Peter');
    myList.Add('Barbie');
    writeln('Inviting Barbie');
    if myList.Contains('Bob') then writeln('Bob has managed to sneak in...') else writeln('Bob is not invited!');
    writeln('List of invited people:');
    for s in myList do writeln(s); //feels sooo goood X-)
    readln;
  finally
    FreeAndNil(myList);
  end;
end.

当時は死にそうだったデルファイから3年間離れた後、この素敵な世界に戻るかもしれないと思います。

の最大のDelphiプロジェクトは、Unicodeに対応していないことに苦しんでいるようですが、Unicodeも素晴らしいものなので、いくつかの場所でコードを修正する必要があります。昨日、エラーなしでビルドして実行することもできました(D2007-> D2009の移行のトリックが含まれているようです)。D2009が非常に高速であることに気付きました。(ほぼ*)すべての面で古いバージョンよりも優れています。

*まだ回帰は見つかりませんでした。

于 2009-05-04T11:07:36.940 に答える
2

ニック・ホッジスは次のように投稿しました。

Delphi 7 からアップグレードする 10 の理由

それらには以下が含まれます:

  1. ライブ テンプレート
  2. 履歴タブ
  3. ドッキング可能/カスタマイズ可能な IDE
  4. VCL デザイナーのガイドライン
  5. 新しいツール パレット
  6. リファクタリング
  7. ジェネリック
  8. 匿名メソッド (閉鎖)
  9. ユニコードのサポート
  10. リボン コントロール

結論の中で、彼は次のように述べています。

そして、彼は他に 24 のことを挙げています (Intellimouse は 2 回数えていません)。

于 2008-12-17T07:23:29.107 に答える
1

私にとって最も重要なインセンティブは、Delphi2006や同じプロジェクトと比較したIDEの全体的な速度でした。

于 2008-12-17T13:39:04.353 に答える
1

リファクタリング - メソッドの抽出、クラスの移動、インターフェイスの抽出、コードとデザインの品質を向上させる操作は、新しいバージョンの IDE の非常に優れた機能です。

于 2009-05-04T16:55:04.873 に答える