問題タブ [delphi-2009]
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 2009 の「警告をエラーとして扱う」オプションはどこにありますか?
Delphi 2009 whereabouts では、警告をエラーとして扱うオプションをオンにしていますか?
delphi - Delphi 2009 でプロジェクトをコンパイルしようとすると、ユニット SysUtils が異なるバージョンの SysConst.SMonitorLockException でコンパイルされました。
プロジェクトをコンパイルしようとしていますが、このエラーが発生します。
エラーは RemObjects ソース ファイルで発生しますが、RemObjects とは関係ないと思います。
とにかく、このエラーは一般的すぎて、なぜ発生するのかよくわかりません。どうすれば解決できますか?
delphi - Delphi 2009 ジェネリックのコンパイルの問題
私は Delphi 2009 Trial をチェックしていますが、すぐにジェネリック関連の問題に遭遇します。
次のコードはコンパイルされず、Equals() メソッドで E2015 が返される理由がまったくわかりません。
fValue と GetValue() の結果を比較できないとコンパイラが判断するのはなぜですか?
delphi - Delphi 2009のdfmに追加されているDoubleBufferedプロパティは、Delphi2007には存在しません。
それは、デルフィ2007と2009の間でフォームを共有できないことを意味しますか?
delphi - fastMMでトリッキーなメモリリークを追跡する方法は?
プロジェクトをDelphi2007からDelphi2009にアップグレードした後、不明なメモリリークが発生しました。これまで、fastMMを使用してプロジェクトを追跡しようとしてきましたが、fastMMスタックトレースのレポートは次のとおりです。
そして時々私はこれを得る:
何が実際にメモリリークを引き起こしているのかを理解するためのより良い方法はありますか?
delphi - メニュー アクセラレータ キーが表示されない (Delphi 2009)
私は最善を尽くしましたが、ここで何が起こったのか理解できません。Delphi 4 では問題なく動作しました。Delphi 2009 にアップグレードした後、これが本来の動作なのか、それとも問題なのかわかりません。
これは、Delphi 2009 のデザイン モードで私のプログラムのメニューがどのように見えるかです。
メイン メニューとファイル サブメニューのすべての単語には、1 文字に下線が引かれていることに注意してください。このようになっているはずです。この下線付きの文字はアクセラレータ キーと呼ばれ、Windows アプリケーションの標準であるため、Alt キーとその文字を使用して、マウスではなくキーボードでメニュー項目とサブメニュー項目をすばやく選択できます。
アイテムのキャプションの一部として「&」文字を使用すると、この方法で取得できます。例: Save &As...
アプリケーションを実行し、マウスを使用して [ファイル] メニューを開くと、次のようになります。
メイン メニューでは文字に下線が引かれますが、ファイル メニューでは下線が引かれません。
代わりに、Alt-F キーを使用して [ファイル] サブメニューを開くと、次のように正しく表示されます。
すべてのアクセラレータ キーの文字には適切に下線が引かれています。
AutoHotKeys オプションを試してみましたが、それは問題ではありません。
誰かが以前にこの問題に遭遇したことがありますか? 私が知らない2番目の画像の例は正しい動作ですか? または、見逃した可能性のあるオプションやコーディングの間違いはありますか?
2009 年 11 月 (1 年後): mghie はこの問題の根源に到達し、問題を解決したようです。以下の彼の受け入れられた回答を参照してください。
delphi - Png 画像を使用するプロジェクトを D2009 に変換する
Gustavo Daud による (もう使用されていない) 自由に利用できる TPngImage を使用した人は、自分のプロジェクトを Delphi 2009 に移植しようとしましたか?
私の場合、D2007 で問題なく表示されていたすべての TImage png 画像が、D2009 でフォームを開くと空白になっているようです (D2009 で画像を再度追加し、フォームを保存して D2007 で開くと、画像は空白になります)また)。
まったく同じ画像の D2007 と D2009 の Picture.Data を比較すると、データが異なることがわかります。
誰もがこの問題に気づきましたか? すべてのプロジェクトに数十の png 画像があり、それらを D2009 に再追加して下位互換性を失うのは嫌です。
delphi - Delphi 2009 で文字列を PAnsiChar に変換する
アプリケーションを Delphi 2009 に変換していますが、文字列 (ワイド) を AnsiString に変換する必要があるいくつかの呼び出しで興味深い問題に直面しました。
私が抱えている問題を示す例を次に示します。
Delphi 2007 以前のバージョンでは、s := PChar(Application.ExeName) はアプリケーションの exe パスを返します。
Delphi 2009 では、s := PAnsiChar(Application.ExeName) は「E」のみを返します。
私の推測では、Unicode 文字列を ANSI 文字列に変換しているためだと思いますが、PAnsiChar が完全な文字列を取得するように変換するにはどうすればよいでしょうか?
delphi - wintypes.dcu が見つからず、コード補完が機能しなくなる
エラーが発生しています: wintypes.dcu が Delphi 2009 IDE で 1 日に数回見つかりません。このエラー コードの補完が機能しなくなった後、Ctrl + クリックでユニットのソース コードを開くこともできず、再度開く必要があります。 IDE で修正します。
誰がこれを引き起こしているのかについての手がかりを持っていますか?
私がインストールした唯一の IDE 拡張機能は GExperts です。
delphi - Delphi 2009 でスタックトレースをフックする
Delphi 2009 の Exception クラスには、多くの新機能が追加されました。それらの多くは、スタックトレースの取得に関連しています:
- プロパティStackTrace:文字列 読み取りGetStackTrace;
- property StackInfo: ポインタ読み取りFStackInfo;
- class var GetExceptionStackInfoProc:関数(P: PExceptionRecord): ポインタ;
- class var GetStackInfoStringProc:関数(情報: ポインター):文字列;
- class var CleanUpStackInfoProc:プロシージャ(情報: ポインタ);
これらを使用してスタック トレースを取得した人はいますか? ええ、スタック トレースを取得する方法が他にもあることは知っていますが、それが Exception クラスでネイティブにサポートされている場合は、むしろそれを活用したいと思います。
更新:これについては、興味深いブログ投稿があります。かなり深くカバーします。