問題タブ [delphi-6]

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 投票する
1 に答える
2171 参照

delphi - 「リモート デバッグ シンボル」オプションで DLL ブレークポイントがヒットしないのはなぜですか?また、これらのセキュリティ リスクはありますか?

Delphi 6 DirectShow DLL でブレークポイントがヒットしないという大きな問題がありました。IDE に DLL (AX) をロードし、Graph Edit をホスト プログラムとして実行すると、ブレークポイントがトリガーされません。FastMM4 DLL をプロジェクト ディレクトリに移動し、FastMM4 を完全に削除し、Debug DCU のオンとオフを切り替え、プロジェクト ディレクトリを消去し、DLL の登録解除と再登録を行いました。何も機能しませんでした。ホスト プログラムを実行するたびに、DLL がロードされ、イベント ビューアーに「デバッグ情報がありません」というメッセージが表示されました。次に、必死の Google 検索で、「リモート デバッグ シンボル」リンカー オプションを試すことを推奨する C++ Builder の投稿を見つけました。

Project -> Options -> Linker (Tab) -> Exe and DLL options (group box) -> "Include Remote Debug Symbols" (チェックあり)

突然、ブレークポイントがヒットし始めました。ここに私の質問があります:

1) なぜこれが機能したのですか? それはオプションのためですか、それともこのオプションが問題を修正する他のコンパイラ/リンカー操作をトリガーしたためですか? 将来この問題が再発したときに確実に修正できるように、知りたいです。

2) リモート デバッグ シンボルは、悪意のあるプログラマーが私のプログラムを詳細にトレースするために使用できるものですか? 言い換えれば、放置するとセキュリティリスクになるのでしょうか?

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

delphi - Delphi 6 IDEでツールチップのシンボルと式の評価が遅くなるのをスピードアップするにはどうすればよいですか?

私が数年間取り組んできたプロジェクトは明らかに大きくなりすぎて、デザインモードでの記号や式のツールチップ評価が非常に遅くなっています。4GBのRAMを備えたクアッドコア(WindowsXPであるため3GBのみが関係します)にもかかわらず、コードアイテムの上にマウスを置くと、ツールチップのルックアップに3〜7秒かかることがよくあります。時々、ハードドライブに大ヒットを引き起こすコードの一部にヒットし、完了するまでに最大15秒かかる場合があります。Delphiがシンボルテーブルやツールチップ駆動のルックアップに関連するその他のコードアイテムに使用するデータ構造が扱いにくくなっているとしか思えません。

ツールチップの評価は自分の仕事にとって非常に貴重なので、オフにしたくありません。Delphi 6 IDEのツールチップ評価を高速化するのに役立つテクニックまたはIDEプラグインはありますか?

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

delphi - ユーザーのデフォルトのWebブラウザーを起動するときに、Chromiumが「WebViewHost」ホストウィンドウを作成しないようにするにはどうすればよいですか?

Delphi6アプリケーションでChromiumWebブラウザコントロールを使用しています。

ユーザーが現在表示されているWebページでプライマリWebサイトにないWebリンクをクリックするたびに、Windows ShellExecute()関数を使用して「Open」動詞を使用してURLを開くことにより、URLを使用してデフォルトのWebブラウザーを起動します。 。これをBeforeBrowse()イベントハンドラーから実行し、同時にナビゲーションをキャンセルします。

つまり、Chromiumコントロールに外部URLを表示せず、代わりにユーザーのデフォルトのWebブラウザーに表示します。

正常に動作しますが、アプリケーションが所有するスタンドアロンのウィンドウポップアップが表示され、画面の約半分が完全に空になります(Windowsテーマの空白の白いクライアント領域)。ウィンドウのWindowsクラス名は「webviewhost」です。

この「ゴースト」ウィンドウを抑制する方法を教えてもらえますか?

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

delphi - ルーチンの内容をメモリ内の別の場所にコピーする

メモリ内のルーチン コードを別の場所にコピーしたい。例えば

ルーチンをメモリ内の別の場所にコピーしたいとします。私は次のようなことを宣言しました

いくつかの擬似コードは次のようになります

これを行う可能性があるかどうかを知りたいだけです。新しいルーチンを呼び出すルーチンにパッチを当てましたが、コード迂回路を使用して JMP 命令を配置しているため、古いルーチンで提供されていた機能を使用できない場合があります。

私の以前の質問の参照はここにあります

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

delphi - DBGridセルの画面座標を取得するにはどうすればよいですか

現在の行の特定のセルの右下隅のすぐ下に、ポップアップボタンまたは派手なメッセージ(背景色など)を表示したいと思います。

今のところ、グリッド座標を取得する方法だけを考えました
。x = DBGrid.DataSource.DataSet.RecNo
y = DBGrid.Columns [index]

TCustomGrid.CellRectもあります。これは私が望むことを実行しますが、保護されており、別のコンポーネントクラスを継承して作成したくありません。

私が考えることができる1つのクレイジーな回避策は、onDrawColumnCellイベントのTRect-sをいくつかの配列に保存することです。

それで、あなたはどう思いますか ?

編集
現在の行の2番目のセルなどの画面座標を取得するにはどうすればよいですか?

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

c# - C#とDelphiの統合

現在、Delphi 6で記述されたプロジェクトがいくつかあります。これらのプロジェクトで使用される特定のコンポーネント(Delphi 6でも記述されたコンポーネント)のため、新しいバージョンに変換するのは簡単ではありません。

私は.NET開発が好きで、新製品は.NETで開発されているので、これらのテクノロジーを使用して新しい機能を開発したいと思います。C#はプログラミング言語になります。

私の質問は、C#で開発された新しい機能をDelphiの現在のコードと統合する方法です。これはまったく良い考えであり、考えられる問題は何ですか?誰かが同じような経験をしているなら、それは長所と短所を聞くことでしょう。

.dllをC#で開発し、Delphiコードから使用する方法の統合について聞いたことがあります。

事前にTnX!

ネマンジャ

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

delphi - イベントハンドラーの保存と復元

私のクラスにはデータセット(TDataSet)が含まれています。私のクラスのユーザーは、このデータセットにイベントハンドラーを割り当てることができます。

次に、データセットを再度開く必要があります。

この後、すべてのイベントハンドラーがなくなります。

したがって、ハンドラーを保存して、再度開いた後に復元する必要があります。私はそれにTStringListを使用します:

問題は、ハンドラーを復元する方法です。

保存されたアドレスをイベントハンドラーに割り当てるにはどうすればよいですか?ありがとう。

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

delphi - CnPack によって適用されるコンポーネントのコンテキスト メニューをオフにする (設計時)

cnPack をインストールした後、フォーム内のコンポーネントを右クリックすると、コンポーネント自体が適用した可能性のある特定のアイテムが削除されたようです。

たとえば、Dev Express コンポーネントを右クリックすると、通常、バージョンの詳細が表示されます。これで、他のコンテキスト メニュー項目がたくさん表示され、Dev Express の項目が消えました。

これを停止するために無効にできるウィザードまたはその他のオプションはありますか? どこにも見つかりません。

ありがとう

編集

Delphiを再起動すると、短期間で修正されましたが、再び戻ってきたので、これに対する解決策を見つけたいと思います....

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

delphi - イベント処理のサイクルによるDelphiスタックオーバーフロー

2つのリストボックスを持つアプリケーションで作業しています.2つのリストボックスに値をロードし、リストボックスの項目をクリックし続けると、デバッグ中に次のエラーが発生します。

ここに画像の説明を入力してください

exeを実行すると、アプリケーションが閉じます。「アクセス違反」メッセージが表示されることがあります。

それで、私のアプリケーションからこのエラーを取り除くために私は何をすべきですか?

編集

..

メインフォームには、すべてのコントロールtimer_RefreshCOntrol(間隔1)を更新するタイマーがあります。

editBox_oneが変更されるたびに(値)、この関数が呼び出されます

EditChangeの編集ボックスに割り当てられていますFormCreate

EDIT2

私は元の開発者ではありません。時々コードを処理しただけで、主要なリファクタリングは不可能です。

編集3 コールスタックの値ですが、「???」とは何ですか ここに画像の説明を入力してください

編集4

@CosminPrundと@davidを通過した後

インフィニティコールが始まる場所を手に入れました

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

delphi - Delphiコードを使用してSQLServer列にPDFファイルを保存する方法

G'd day、みんな...

これがシナリオです。私のユーザーはPDFファイルをデータベースに保存したいと思っています(ええ、それは最適な方法ではありませんが...彼はお金を払っているので、口を閉ざしておきます;))、それで私はBinary列を作成することにしましたSQL Server2008R2データベースのテーブルにあります。

そして今、問題。私はDelphi6で開発していますが、これを実現する方法について少しでも考えています...、ここでちょっと助けていただけませんか?

何卒よろしくお願い申し上げます。