問題タブ [delphi-2006]
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アイドルハンドラは、マウスを動かしたときにのみ起動します
D2006アプリにOnIdleハンドラーがあります。このコードで:
アプリはスムーズに実行され、アイドルハンドラーは1秒間に100回呼び出され、CPU使用率はほぼゼロです。
次に、TActionListを追加し、いくつかのコントロールをアクションに接続し、実行および更新ハンドラーをコーディングしました。
問題。OnUpdateイベントは発生しません。思い切って、OnIdleハンドラーでDone:= trueを設定すると、マウスを動かしたときにのみOnIdleハンドラーが呼び出されます。そして、更新アクションはまだ起動しません。
Updateハンドラーが起動しないのはなぜですか?Doneをtrueまたはfalseに設定する必要がありますか?または両方?
delphi - Delphi - ExtractFileName が Unicode を台無しにする
「STF:宋体」に等しい WideString の ExtractFileName を使用しています。結果は「??」です。
ExtractFileName は unicode をうまく処理していないようです。
ユニコードに相当する方法はありますか?
編集:
これは私が使用する回線です
タイプは次のとおりです。
delphi - Delphi TPrinters.GetPrinters 呼び出しがハングする
エラー レポートを返したアプリがあります。アプリは Delphi 2006 で作成されており、起動時にハングします。MadExcept のメイン スレッド スタックを以下に示します。デフォルトのプリンターはないと思われますが、ここで障害を再現することはできません。
この問題を見た人はいますか?
ユニット WWPrintToPrinterOrPDFRoutines の初期化部分
または逆アセンブル:
delphi - Delphi - フォームの ComponentCount がデクリメントしたときにどうすれば壊れますか
以下のコードは、Toolbar2000 から複製したものです。INI ファイルからツールバーの位置とドックの状態を読み取るルーチンの一部です。初期化中にこのルーチンを呼び出します。以下のコードは、メイン フォーム (OwnerComponent) のすべてのコンポーネントを繰り返し処理し、見つかったツールバーの設定を読み込みます。
この繰り返しには時間がかかり (数秒 - フォーム上に 1500 個の奇数のコンポーネントがあります)、示されているポイントで範囲エラーが発生します。このループの実行中に、メイン フォームのコンポーネントから 1 つ以上のアイテムが取り除かれていることを確認したので、最終的にループは、これが発生すると、配列の末尾を超えて 1 つにアクセスしようとします (おそらく、これを次のようにコーディングする方がよいでしょう)。これを防ぐための「downto」for ループ)。
とにかく、メインフォームがコンポーネントを失っている場所を見つける必要があります。これを行う方法について、Delphi 2006 のデバッグのヒントを教えてもらえますか? プログラムのこの時点で、メイン フォーム コンポーネントが解放されることは期待できません。
アップデート
設計時にツールバーのデフォルトのドック位置を再配置したときに、別のツールバーがあったドック サイトではなく、別のツールバーに誤ってドッキングしてしまったことがわかりました。ドッキングして、代わりにドックに追加します。したがって、問題を引き起こした配置は次のとおりです。
そして、修正はそれらを次のように配置することでした:
ただし、これはまだ TB2k コードのバグを示しています。ネストされたツールバーを処理できるはずだと思われます。
delphi - BDS2006 での GetVersionExW エラー
これは Delphi 2009 では機能しますが、TurboDelphi/BDS2006 ではエラーが発生します。
[パスカル エラー] xxx.pas(117): E2033 実変数と仮変数の型は同一でなければなりません
delphi - ネットワーク マシン上の共通ドキュメント フォルダの名前を調べる方法
ネットワーク経由でマシン上で EXE ファイル (D2006 アプリ) を実行している場合、EXE が UNC ショートカットまたはマップされたドライブ文字から呼び出された可能性がある場合、そのマシン上の commondocs フォルダーへのパス名を取得するにはどうすればよいですか?ショートカット、およびリモート マシンのプラットフォームは必ずしも既知ではありません (ただし、>= WinXP になります)?
状況は、クライアントが多数の分散したマシンを持っており、すべての PC に私のアプリをインストールすることを気にすることができない場合です。つまり、ネットワーク上のどこかに実行可能ファイルをインストールし、全員にそのショートカットを提供します。これはすでに彼らにうまく合っているようで、問題はありません。
彼らの要求に応じて、アプリが実行可能ファイルと同じフォルダーに配置された INI ファイルから設定を読み取るようにしました。INIファイルを保存できるように、すべてのユーザーがそのフォルダーに書き込むことができるように構成しているとしか思えません。
ただし、INI ファイルが読み取られ、リモート マシンの commondocs フォルダー ツリーのどこかに保存されるように変更して、Program files フォルダーへの書き込みアクセスを提供する必要がないようにしたいと考えています。
delphi - ユーザーがグループのメンバーであるかどうかを照会する
Active Directory の経験はありません。
Delphi を使用して、Active Directory と対話するアプリケーションを開発しています。Active Directory ユーザーが特定のグループに属しているかどうかをテストする最良の方法を知る必要があります。それ、どうやったら出来るの?
Delphi 2006 BDS を使用しています。
delphi - 無料の Delphi 2006 コンパイラ
ウィキペディアで私は読んだ:
Borland Delphi 2006 [...] 各バージョンには、Explorer (無料でダウンロードできるバージョン) と Professional の 2 つのエディションがあります。
このエディションはまだ入手可能ですか?それとも、2006 年にそれを手にした人は幸運で、他の人はそれほど幸運ではないのでしょうか?
delphi - Delphi 2006 TStringList.LoadFromFile で UTF-16 ファイルをロードするにはどうすればよいですか
生成された CSV データ ファイルを処理するコードを追加する Delphi 2006 アプリがあります。TStringList.LoadFromFile は奇妙な結果を出していましたが、ファイルが UTF-16 でエンコードされていることがわかりました。
XE へのアップグレードは計画されていますが、現時点ではオプションではありません。
D2006 でこれらのファイルを処理する最も簡単な方法は何ですか? 問題なく 8 ビット ASCII にマッピングできると想定しています。それらは「純粋な」CSV であり、数字とコンマなどだけです。 -ビットセット。
delphi - D2009 .groupproj ファイルを D2006 .bdsgroup ファイルに変換する方法は?
.groupproj プロジェクト グループ ファイル (Delphi 2009 から) を変換して、Turbo Delphi Explorer で使用できるようにしようとしています。つまり、.bdsgroup に変換しようとしています。ファイル構造は似ています (xml)。それを行う簡単な方法はありますか?どのように?