Как использовать OutputDebugString для печати сообщения в строковой переменной?

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

  • Как я могу вывести на консоль?
  • Как вывести на консоль с помощью fx, строковой переменной?

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

Ответы

Ответ 1

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

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

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

Существует полезная ссылка на методы отладки здесь.

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

Ответ 2

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

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

Ответ 3

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