web-dev-qa-db-ja.com

OutputDebugStringを使用して、文字列変数に含まれるメッセージを出力するにはどうすればよいですか?

私は最近、いくつかのDelphiコードにいくつかの変更を加える必要がありました。したがって、いくつかの基本的な質問があります。

  1. 一般的に、コンソールに出力するにはどうすればよいですか?
  2. 文字列変数であるfxを使用してコンソールに出力するにはどうすればよいですか?

OutputDebugStringを使い始めましたが、変数で動作させることができませんでした。

13
user328146

OutputDebugStringに渡される変数を処理するラッパー関数を記述して、PCharを期待することができます。

何かのようなもの:

procedure DebugMsg(const Msg: String);
begin
    OutputDebugString(PChar(Msg))
end;

デバッグ手法の便利なリファレンスがあります ここ

そして、Delphiが少し錆びている場合は、これまでにない便利な Delphi Basics サイトがあります。私はそれをよく使います:)

27
Tony

OutputDebugString()とWriteLn()について得た2つの回答に加えて、デバッグにはより良い解決策があります。RaizeSoftwareのCodeSite( http://www.raize.com/DevTools/CodeSite/Defaultを参照) .asp )。

Delphi XEをお持ちの場合は、CodeSiteの機能がいくらか低下したバージョンがすでに付属しているはずです。

4
Thorsten Engler

コンソールアプリケーションがある場合は、write()およびwriteln()グローバル関数を使用するだけです。 GUIアプリケーションがあり、個別のコンソールウィンドウを作成したい場合は、注意が必要です( この記事 はC++ですが、プロセスをガイドします)。