問題タブ [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.
delphi - Delphi: FormCreate での TImage の作成と表示
かなり初心者なので、最初の質問に答えてもらいました ( Delphi: TImage.Create cause Access violation ) すぐに新しい問題にぶつかりました:
このフォームを表示すると
画像は表示されません。私は何を間違っていますか?
皆さんのアドバイスに感謝したいと思います。うまくいけば、基本的な質問をすることで、他の人が将来それらを尋ねるのを避けるのに役立ちます:-)
delphi - DateUtils の IncHour プロシージャ
TDateTime 値を 1 時間インクリメントする次の Delphi 7 コードがあります。何らかの理由で機能しません。
コード実行後の StatusMemo の内容:
IncHour が機能していないように動作します。IncMinute(dtval,60) を使用してみましたが、同じ結果が得られました。私は何が欠けていますか?
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のデストラクタでは、次のようにします。
windows - ImageList_Add は、pcAnywhere で制御されている PC で -1 を返します
ImageList_Add() WinAPI 関数がしばらくしてイメージ/マスクの追加に失敗するため、pcAnywhere を介して制御されているコンピューターでアプリケーションの 1 つが失敗します。この関数は -1 を返し、イメージリスト内のアイコンの数は変わりません。他のすべてのコンピューターでは、これは問題ありません。興味深いのは、99 個のビットマップ (LoadBitmap) をイメージリストに追加できることですが、100 番目のビットマップを追加すると ImageList_Add が機能しなくなります。
指定された数のビットマップでイメージリストを埋める簡単なテスト アプリケーションを作成しようとしましたが、問題は発生しませんでした。だから私は雨の中に立っています。誰かがこの奇妙な動作を見たことがありますか、またはそれに対する解決策または説明を持っていますか?
delphi - Delphi IDE の dif または patch adder ですか。つまり、誰かがパッチを作成し、それをプロジェクトに自動的に追加したい場合は?
Delphi 用の DIFF プラグインはありますか? プロジェクトに差分ファイルまたはパッチ ファイルを簡単に追加し、パッチで変更されたプロジェクト コードを置き換える必要がありますが、パッチなしで古いファイルにフォールバックする場合に備えて、古いコードも保持します。
delphi - Delphi 7 のコンパイルは時間の経過とともに遅くなりますか?
私のプロジェクトには約 400 ユニットがあり、再起動後のコンパイルには 20 ~ 40 秒かかり、その後の再コンパイルには 1 ~ 5 秒かかります。
3 ~ 6 時間以上作業した後、コンパイルはその後の再コンパイルに 1 ~ 3 分かかるため、毎回再起動する必要があります。
D7のどこかにリークがありますか?Windows XPの問題ですか?すごくイライラする…。
誰もこの問題に遭遇しましたか?
Edit1 DelphiSpeedup では問題が改善されないようで、まだ発生しています....
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 を最初にアンインストールする」ではないことを願っています。すべてのアドオン コンポーネントを再インストールするにはかなりの時間がかかるため、これは私にとって苦痛です。
xml - XMLドキュメントを作成および解析するためのベストプラクティス
TXMLTransformProviderとTXMLDocumentのどちらを使用すべきか疑問です。
TXMLTransformProviderは保守性が高く、TXMLDocumentよりもコーディングが少なくて済むようです。
一方、TXMLDocumentはより柔軟に見えます。
必要なのは、ネストされた属性を持つXMLドキュメントを生成して解析し、それをmaster-detail clientDataSetsにマップして、1つのXMLドキュメントを書き戻すことです。
これに関するヒントはありますか?
ありがとう。