はじめて質問します。
Delphiは未だ経験が浅いです。よろしくお願いします。
OutputDebugString を使ってDebug.Printの代わりをさせようとしたのですが、イベントログウインドウがどうやっても出てきません。
HELPの通りにしても、表示のための選択肢すら出てきません。ctrl+Alt+V をしましたが駄目です。
Personal版では使えないようになっているのでしょうか?
同様に、IfThen関数も使えないのです。HELPにはあるのに・・
OutputDebugStringのことはまったくわかりませんが、
IfThenは使えますよ。
uses節への宣言が足りないんではないでしょうか?
(DelphiPersonalでは?)デバッグログを表示する方法がないみたいですね。
でも、何らかの方法でデバッグログを表示すれば、何とかなるようですよ。
たとえば、ベクターでデバッグモニタツールをダウンロードするとか。
でも、Delphiには、他にもいくつものデバッグ方法があります。
わざわざデバッグモニタツールに起動させなければならない手間を考えると、
できれば他の方法を使ったほうが、この場合よさそうです。
IfThenは使えます。uses節に"ユニット"のところに書かれたユニットを書き足してください。
間違っているかもしれませんが、
メニュー欄の「表示」→「デバッグ」→「イベントログ」で
'イベントログ'ウィンドウが表示されませんか?
Personal でも利用できたと思います。
> メニュー欄の「表示」→「デバッグ」→「イベントログ」で
> 'イベントログ'ウィンドウが表示されませんか?
Borlandのスクリーンショットを見つつ、何度も探してみましたけど、
残念ながら、Delphi6Personalにはないです。やはり、Pro以上との差でしょうか…?
皆さん、ありがとうございました。
IfThen関数は、usesが足りなかったようです。迂闊でした。
デバッグモニタの件ですが、たかみさんのおっしゃる通りデバッグモニタツールをいくつかダウンロードして試していますが、(何かを勘違いしているのでしょうが)OutputDebugStringで送った(?)メッセージの表示までたどり着きません・・・
試してみたのは、
http://www.vector.jp/vpack/filearea/winnt/prog/debug/index.html
の、DebugTracer 1.001 と デバッグモニタツール 1.0.2 です。
単純にOutputDebugString('文字列') とすると文字列がモニタ上に表示されると思ったのですが・・・
OS:Win2k Sp4
Delphi6Personalです。
Delphiや、他のアプリケーションが奪っている可能性があります。
生成したEXEを直に起動して、OutputDebugStringしてみてください。
これで表示できれば、Delphiが奪っていると思われます。
EXEで試してみました。にしのさんの仰るとおり、Delphiの開発環境が奪っているようです。
そうすると、デバッグ時にはこの手は使えないということになります。
甘えついで恐縮ですが、他に何か良い方法・TIPS等ご存知でしたらご教授願います。
(逐一ファイルに落とすというTIPSをWEBで見たことがあります)
OutputDebugStringをラップする関数を作り、そこでログに吐くなりTMemoに追加するなりするのが簡単です。
デバッグ用フォームを作成して、そこに出力するようにすれば、Delphiのデバッグログと同じように参照できますし。
メモ帳やワードパッドを利用して、
そこにSendMessageで送るという手もありですよね。
めんどくさくて作るのを断念しちゃいましたけど、
そういうデバッグユニットを作ろうとした記憶があります。
ワードパッドならば、リッチテキストの機能も使える(色分け表示とか)し、
いざというときにはベータ版にその機能をつけたまま、テスターの人にあげることもできますし。
やくにはたつと思います。
言ってるうちにまた作りたくなってきたかも、完成させちゃおうかな…。
いろいろご指導ありがとうございます。
やはり、Memoとかに貼り付けていくのですね。
SendMessageの方は、少し調べてみましたが、文字列をAddするところまでは到達できませんでした。
たかみさんのデバッグユニットができましたら是非使わせてください(^^)
OutputDebugString もEXEにした後で応用ききそうですし、勉強になりました。
> たかみさんのデバッグユニットができましたら是非使わせてください(^^)
といわれた以上、作らないわけには…。
http://TakamiChie.tripod.co.jp/warehouse/units/DebugUnit.lzh
というわけで完成させました。いろいろ便利になるように工夫してます。
ちゃんとした公開は、またあとで
多分この場から動かさないと思いますが、
近いうちにサーバーが変わるとのことなので、お早めに。
ウォレスです。長い名前でごめんなさい。
早速デバッグユニット使ってみます。
・・・今から仕事なので、なかなかですが(^_^;)
ツイート | ![]() |