問題タブ [delphi-7]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
3436 参照

delphi - Delphi: FormCreate での TImage の作成と表示

かなり初心者なので、最初の質問に答えてもらいました ( Delphi: TImage.Create cause Access violation ) すぐに新しい問題にぶつかりました:

このフォームを表示すると

画像は表示されません。私は何を間違っていますか?

皆さんのアドバイスに感謝したいと思います。うまくいけば、基本的な質問をすることで、他の人が将来それらを尋ねるのを避けるのに役立ちます:-)

0 投票する
1 に答える
2918 参照

delphi - DateUtils の IncHour プロシージャ

TDateTime 値を 1 時間インクリメントする次の Delphi 7 コードがあります。何らかの理由で機能しません。

コード実行後の StatusMemo の内容:

IncHour が機能していないように動作します。IncMinute(dtval,60) を使用してみましたが、同じ結果が得られました。私は何が欠けていますか?

0 投票する
4 に答える
3040 参照

delphi - FastMM4は「ブロックヘッダーが破損しています」と表示します

過去に消えたこの厄介なバグがありましたが、かなり時間が経ってから戻ってきました。

2つのTSamオブジェクト(TPersistentから派生)を作成し、TAsmJobオブジェクト(TObjectListから派生)にロードしました。

実行時に、フォームはTStringGridを作成し、次にAsmJobを作成してこれら2つのSAMオブジェクトを作成します(そして、それぞれのディスクからデータをロードします)。AsmJobもグリッドに割り当てられます。フォームが破棄されると、グリッドはAsmJobを解放することで処理し、TSamオブジェクトを解放します。問題は次のとおりです。最初のオブジェクトは問題なく解放されますが、継承されたメソッド(Destroy destructor内)が呼び出されると、2番目のオブジェクトは停止します。

プログラム全体でFreeAndNilを使用して、オブジェクトを解放します。TSamオブジェクトはNILではありません!!!!! したがって、これはオブジェクトを解放する最初の試みです。オブジェクト内のデータでさえ一貫しています。

プログラムのバックボーンは次のようになります。

オブジェクトがリリースされた後、どこでオブジェクトをダブルフリーまたは上書きしようとしているのか、本当にわかりません。


編集:

私が得たエラーのいくつか:

  • FastMMは、フリーブロックスキャン操作中にエラーを検出しました。FastMMは、ブロックが解放された後に変更されたことを検出しました。

  • FastMMは、フリーブロックスキャン操作中にエラーを検出しました。ブロックヘッダーが破損しています。

詳細:

「範囲チェック」を含め、IDEですべての「デバッグ」オプションを有効にしています。また、FastMM4はスーパーアグレッシブデバッグモードに設定されています。FastMMがなくても、デバッガーの外でも、プログラムは問題なく実行されますが、バグがなくなったわけではありません。FastMMをインストールするまで、実際には(おそらく)1年以上機能していました。


編集:

みなさん、ありがとうございました。いいえ、私は少し良い方向に進んでいると感じています。

プログラムの構造はもっと複雑です。元の投稿を小さく保つためにバックボーンのみを提供しました。しかし、一体、それはすでに大きくなっています:)したがって、これらのTSamオブジェクトは、ディスクからデータをロードするために使用されます。各オブジェクトに1つのファイル。彼らはまた、いくつかの処理とデータ検証を行っています。これらのTSamのそれぞれについて、TSamオブジェクトに含まれるデータを画面に(グラフィカルに)表示するグラフィカルオブジェクトもあります。TStringGridの各行には、TSamのデータも表示されますが、テキストで表示されます。

私が持っている1つの質問:エラーがどこにあるかを見つけるためにプログラムを細かく分割しても、エラーはまだ表示されますか?または、この特定の構成でのみ表示することは可能ですか?


「TStringGridがAsmJobを破棄するように、AsmJobはどのようにTStringGridに割り当てられますか?」に対する回答。

次に、TForm.Create(グリッドを保持するフォーム)のどこかで、

MyGridのデストラクタでは、次のようにします。

0 投票する
1 に答える
388 参照

windows - ImageList_Add は、pcAnywhere で制御されている PC で -1 を返します

ImageList_Add() WinAPI 関数がしばらくしてイメージ/マスクの追加に失敗するため、pcAnywhere を介して制御されているコンピューターでアプリケーションの 1 つが失敗します。この関数は -1 を返し、イメージリスト内のアイコンの数は変わりません。他のすべてのコンピューターでは、これは問題ありません。興味深いのは、99 個のビットマップ (LoadBitmap) をイメージリストに追加できることですが、100 番目のビットマップを追加すると ImageList_Add が機能しなくなります。

指定された数のビットマップでイメージリストを埋める簡単なテスト アプリケーションを作成しようとしましたが、問題は発生しませんでした。だから私は雨の中に立っています。誰かがこの奇妙な動作を見たことがありますか、またはそれに対する解決策または説明を持っていますか?

0 投票する
4 に答える
279 参照

delphi - Delphi IDE の dif または patch adder ですか。つまり、誰かがパッチを作成し、それをプロジェクトに自動的に追加したい場合は?

Delphi 用の DIFF プラグインはありますか? プロジェクトに差分ファイルまたはパッチ ファイルを簡単に追加し、パッチで変更されたプロジェクト コードを置き換える必要がありますが、パッチなしで古いファイルにフォールバックする場合に備えて、古いコードも保持します。

0 投票する
9 に答える
3651 参照

delphi - Delphi 7 のコンパイルは時間の経過とともに遅くなりますか?

私のプロジェクトには約 400 ユニットがあり、再起動後のコンパイルには 20 ~ 40 秒かかり、その後の再コンパイルには 1 ~ 5 秒かかります

3 ~ 6 時間以上作業した後、コンパイルはその後の再コンパイルに 1 ~ 3 分かかるため、毎回再起動する必要があります

D7のどこかにリークがありますか?Windows XPの問題ですか?すごくイライラする…。

誰もこの問題に遭遇しましたか?

Edit1 DelphiSpeedup では問題が改善されないようで、まだ発生しています....

0 投票する
2 に答える
346 参照

delphi - Delphi 2007 のインストール後に Delphi 2006 をインストールできますか?

コンピュータ クラッシュ後の再構築中に、Delphi 7 を再インストールし、次に Delphi 2007 を再インストールしました。Delphi 2006 のインストールはスキップしました。ただし、Embarcadero が D2006 の最新バージョンのダウンロードを停止する前に、Delphi 2006 をインストールしたいと考えています。

他の 2 つのインストールに悪影響を与えずに、このコンピュータに Delphi 2006 をインストールすることは可能ですか?

私の唯一の懸念は、SYSTEM PATH 変数の混同の潜在的な問題です。Delphi の各バージョンは、BPL ファイルの場所を記憶するためにシステム PATH 値を使用します。次に、システム PATH ステートメントは、各 Delphi インストールによって作成された複数の BPL パスの場所を保持します。ただし、各バージョンの Delphi は、パスのリストにある最初の BPL パスのみを検出して使用します。これは常に最新のインストールです。(Delphi は、現在のシステム PATH 値の先頭に BPL パス参照を追加ではなく挿入でインストールします。)これが発生した場合、たとえば、Delphi 7 が Delphi 2007 の BPL ファイルを参照する可能性があります。もちろん、それはまったく良くありません。これは、私が回避する方法を知っているものです - それが唯一の問題である場合。

答えが「Delphi 2007 を最初にアンインストールする」ではないことを願っています。すべてのアドオン コンポーネントを再インストールするにはかなりの時間がかかるため、これは私にとって苦痛です。

0 投票する
3 に答える
1859 参照

xml - XMLドキュメントを作成および解析するためのベストプラクティス

TXMLTransformProviderとTXMLDocumentのどちらを使用すべきか疑問です。

TXMLTransformProviderは保守性が高く、TXMLDocumentよりもコーディングが少なくて済むようです。

一方、TXMLDocumentはより柔軟に見えます。

必要なのは、ネストされた属性を持つXMLドキュメントを生成して解析し、それをmaster-detail clientDataSetsにマップして、1つのXMLドキュメントを書き戻すことです。

これに関するヒントはありますか?

ありがとう。