| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Debug.Print |
| Автор: Mephisto 16.11.2006, 15:11 | ||
Если аналог в Delphi функции VB:
Она в режиме Debug выводит строки в дебагере. |
| Автор: Romkin 16.11.2006, 15:40 |
| Есть API, от природы { Выводимые сообщения можно просматривать из: - Delphi (View\Debug Windows\Event Log) - Программой http://www.microsoft.com/technet/sysinternals/Miscellaneous/DebugView.mspx } procedure Debug(Text: string); begin OutputDebugString(PChar(Text + #13#10)); end; В GExperts тоже есть средства.... |
| Автор: Mephisto 16.11.2006, 15:52 |
| Прикольно. Спасибо. |
| Автор: Bose 16.11.2006, 18:55 | ||
Mephisto, вместе с http://www.gexperts.org идёт unit DbugIntf.pas и утилитка gExperts Debug Window. Подклчюив модуль Dbugintf.pas к исходникам можно будет пользоваться процедурой:
и текст aText будет показан в окне gExperts Debug Window. Если окно не было запущено - оно запустится(при включенной IDE). Я ползуюсь этой фичей. А раньше, пока не знал, у меня во всех апликациях была форма frmDebug с публичным методом Print |
| Автор: popolzen 17.11.2006, 08:15 | ||||||
| Проблема решается без использования сторонних компонентов: 1. Project Options (Ctrl+Shift+F11) -> Linker -> EXE and DLL options -> Generate console application (установить флаг) Если флаг выставлен, то компилятор генерирует консольное приложение {$APPTYPE CONSOLE}, в противном случае генерируется приложение с графическим интерфейсом {$APPTYPE GUI} 2. В коде пишем
3. Используем
точно так же, как Debug.Print 4. Как только отдебажили код, снимаем флаг Project Options -> Linker -> EXE and DLL options -> Generate console application и компилятор генерирует приложение без текстовой консоли В итоге код для дебага выглядит примерно так:
P.S. Если что-то непонятно, смотри в help'е "conditional directives". |
| Автор: Mephisto 17.11.2006, 09:35 |
| popolzen, полезно! |
| Автор: bems 17.11.2006, 09:44 |
| popolzen, очень, очень плохо. не делай так |
| Автор: Mephisto 17.11.2006, 10:24 |
А проблема-то в чем? |
| Автор: bems 17.11.2006, 10:34 |
| Mephisto, в том что для отладки кода приходиться его изменять. Если штатные средства дебагера применить нельзя, то OutputDebugString, но это максимум, что можно себе позволить. Консоль - это очень плохой стиль и создает проблемы (иногда неочевидные). Я сам так делал. Больше не хочу |
| Автор: Mephisto 17.11.2006, 10:41 |
Этот метод действительно оптимальный для данной задачи. Я не спорю! |
| Автор: popolzen 17.11.2006, 10:42 |
| bems, не буду спорить, но у меня никогда не возникало таких проблем. |