Как использовать OutputDebugString для печати сообщения, которое находится в строковой переменной? - PullRequest
13 голосов
/ 02 февраля 2011

Мне недавно пришлось внести некоторые изменения в некоторый код Delphi.Поэтому у меня есть несколько базовых вопросов:

  1. Как вообще выводить на консоль?
  2. Как вывести на консоль fx, который является строковой переменной?

Я начал использовать OutputDebugString, но не смог заставить его работать с переменной.

Ответы [ 3 ]

27 голосов
/ 02 февраля 2011

Вы можете написать функцию-обертку, которая будет заботиться о переменных, переданных в OutputDebugString, поскольку она ожидает PChar.

Что-то вроде:

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

Есть полезная ссылкаметоды отладки здесь .

А если ваш Delphi немного заржавел, всегда есть полезный Delphi Basics сайт.Я им часто пользуюсь:)

4 голосов
/ 02 февраля 2011

В дополнение к 2 ответам, которые вы получили о OutputDebugString () и WriteLn (), для отладки существует лучшее решение: CodeSite от Raize Software (см. http://www.raize.com/DevTools/CodeSite/Default.asp).

Если у вас Delphi XE, он должен уже иметь версию с несколько сниженной функциональностью CodeSite.

0 голосов
/ 02 февраля 2011

Если у вас есть консольное приложение, просто используйте глобальные функции write () и writeln (). Если у вас есть приложение с графическим интерфейсом и вы хотите создать отдельные консольные окна, все будет сложно ( эта статья проведет вас через весь процесс, хотя и в C ++).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...