問題タブ [delphi-10.1-berlin]

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 に答える
61 参照

sql - 特定の日付を探す Delphi の SQLQuery スクリプト

ステートメントを実行する前に Delphi でクエリを準備する方法は?

データをフィルタリングするための GUI コントロールからの値があります。

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

delphi - Delphi 10 Seattle および 10.1 Berlin で COM DLL をデバッグできない

COM DLL プロジェクトがあり、Delphi 2007 および XE8 でデバッグ (ブレークポイントで停止) できます。

ただし、IDE が Delphi 10 シアトルまたは 10.1 ベルリンのブレークポイントで停止することはできないようです。

デバッグの私のステップ:

  1. DEBUG に変更します (そして、チェックされているデバッグ オプションをチェックします。例: デバッグ情報)

  2. regsvr32 出力ディレクトリの下のプロジェクト DLL

  3. COM オブジェクトを作成してそのメソッドを呼び出すだけの vbscript を作成する

  4. デバッガーで、32 ビットまたは64 ビットのデバッグRunを使用してコマンドラインを設定します。c:\windows\syswow64\cscript.exec:\windows\system32\cscript.exe

  5. vbscript を実行するようにコマンド ライン パラメータを設定します。

  6. 呼び出されたメソッドにブレークポイントを設定します。

  7. F9を押す

想定: ブレークポイントで停止する

Delphi 2007 と XE8 では問題ありませんが、Delphi シアトルやベルリンではできませんでした。

ここで何がうまくいかない可能性がありますか?Delphi の最新の IDE バージョンで COM DLL をデバッグするために有効/無効にする必要がある設定はありますか?

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

delphi - FireDac が GUI をフリーズさせる

Delphi 10.1 Berlin で FireDac を使用しています。

ユーザーにデータを表示するには、TDBEdit などのデータ認識コントロールを使用します。

TFDQuery と TDataSource を使用して、それらをコントロールにリンクします。

これは機能しますが、実行に時間がかかる長い SQL クエリは GUI をフリーズさせます。

これらの長時間実行されるクエリの実行中に GUI がフリーズするのを防ぐ方法を考えています。

バックグラウンドスレッドについて考えていました。

ウィキで、FireDac がマルチスレッドで動作できることを読みました: http://docwiki.embarcadero.com/RADStudio/XE6/en/Multithreading_(FireDAC)

ただし、embarcadero コミュニティ フォーラムのスレッドで、 Jeff Overcash は次のように書いています。

私が尋ねたり、Dmitry が言及したりしなかったことの 1 つは、バックグラウンド スレッド クエリに対して TDataSource または LiveBindings を使用できないことです。結果を表示するクエリをバックグラウンドでスレッド化している場合は、LB または DataSource を切断し、すべてのデータを開いてフェッチしてから、接続を再確立する必要があります。

これらの 2 つは、カーソルを移動しようとするか、表示のためにバッファをクエリしようとしますが、バッファは非常に揮発性が高く、別のスレッドで移動されます。

FireDac も使用してフォームに値を表示する人がここで私を助けてくれるかどうか疑問に思っています。

0 投票する
0 に答える
719 参照

delphi - グローバル アトム テーブルにモジュール名と同じ文字列がある場合、Firemonkey がアプリケーション ハンドルを作成しないのはなぜですか

状況 : グローバル アトム テーブルに、アプリケーションと同じ文字列があります。アプリケーションがアプリケーション ハンドルを作成せず、無効なウィンドウ ハンドルを取得します。

FMX.Platform.Win からのコード

exe が同じ名前の古いアプリケーションがあります。閉じた後、globalatomtable 'COM' に文字列が残っているようです。この古いアプリケーションを閉じた後。新しいアプリケーションを開くことができなくなりました。これは、グローバル アトム テーブルでこの 'COM' が見つかり続け、アプリケーション ハンドルが空になり、ウィンドウ ハンドルが無効になるためです。

コードをコメントに入れると、アプリケーションは有効なアプリケーション ハンドルで完璧に起動します。