Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Узнать программно имя unit 'а 
:(
    Опции темы
Delphist
  Дата 5.2.2007, 10:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphist Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2145
Регистрация: 3.2.2004
Где: всегда в сети

Репутация: 2
Всего: 3



В свой проект хочу внедрить систему оповещения разработчика о возникших ошибках программы. 
Делаю я это так: в 
Код

except
end;

размещаю процедуру которая отображает окно с сообщением о том, что в проге возникла ошибка и её возможность отправить разработку. Если пользователь нажмет отправить, то отправляется заархивированный лог файл. Хотелось бы сделать так, чтобы в тексте ошибки содержался имя  unit'a и номер строки, где возникла эта ошибка. 
Так вот, есть ли возможность сделать это программно?

Это сообщение отредактировал(а) Delphist - 5.2.2007, 10:30


--------------------
ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др).
Когда-то давным-давно использовал это...
PM MAIL ICQ   Вверх
VladBD
Дата 5.2.2007, 10:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 105
Регистрация: 19.11.2006

Репутация: 1
Всего: 5



Наверное только прописывать свои коды ошибок и генерить лог именно с тем кодом, где вылетела ошибка. И еще вести справочник (код ошибки - юнит и процедура)
PM MAIL   Вверх
Matematik
Дата 5.2.2007, 10:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1027
Регистрация: 11.3.2006

Репутация: 17
Всего: 50



Есть такая классная штука
http://www.madshi.net/madExceptDescription.htm
PM MAIL WWW ICQ   Вверх
Delphist
Дата 6.2.2007, 09:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphist Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2145
Регистрация: 3.2.2004
Где: всегда в сети

Репутация: 2
Всего: 3



Цитата(Matematik @  5.2.2007,  11:54 Найти цитируемый пост)
Есть такая классная штука
http://www.madshi.net/madExceptDescription.htm 

Я нашел лучше процедура Assert

Это сообщение отредактировал(а) Delphist - 6.2.2007, 09:50


--------------------
ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др).
Когда-то давным-давно использовал это...
PM MAIL ICQ   Вверх
ADAM83
Дата 7.2.2007, 06:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 13.1.2006

Репутация: нет
Всего: нет



Delphist, а как же эту процедуру использовать-то, может поделишься изобретением?!
У меня просто тоже проблема стоит как у тебя, если у тебя получилось, может подскажешь как?
Так пробовал, исяк пробовал, но никак. ТОже пользуюсь try..except, но имя модуля и строка ошибки приходится самому указывать  

Начал использовать, работает, все красиво, но как прихватить это сообщение (имя модуля и строка ошибки) и записать его в лог файл?

Это сообщение отредактировал(а) ADAM83 - 7.2.2007, 07:02
PM MAIL   Вверх
Beltar
Дата 7.2.2007, 10:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 627
Регистрация: 11.1.2006

Репутация: 3
Всего: 7



Эта процедура проверяет какое-то условие и если оно ложно то вопит об этом. Фишка в том, что все ассерты можно залочить в опциях проекта поставив одну галку.
Я бы, скорее всего в каждый try except разный текст напихал, а чтобы он был только в отладочных версиях почитал бы про условную компиляцию (пока как-то не возникало причин для ее использования).
Кстати, у меня есть такое правило. Если я вызываю какое-то окно, то весь код обработки связанных с ним событий я пишу в юните этого окна, меньше мусора в и без того перегруженном главном юните оказывается.


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. smile(с) я, хотя может и нет
Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0693 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.