![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Можно ли получить имя процедуры/функции в строковую переменную? [D5]
lipskiy © (2002-08-15 01:46:00)Нужно из текущей процедуры отобразить ее название. Это возможно?
lipskiy (2002-08-17 00:32:00) [1]Не, ребята, таких сложностей мне не надо, конечно :)
Я просто хотел сделать что-то типа, как это сказать-то... Блин... В общем - отслеживать порядок выполнения кода, чтоб отлавливать ошибки наглядно. В какой-нить Мемо выводить имена функций, чтобы видеть порядок следования и точку ошибки. И чтоб это лог мне юзера присылали по почте, чтоб мне легче баги искать было.
Я пока что делаю цифровую идентификацию.
Каждая процедура или функция имеет служебную функцию запоминания номера в лог, а номер у каждой функции уникален, проставляю их автоматически - отдельной прогой пробегаю по тексту кода и редактирую его.
В принципе, довольно удобно и просто, но если б еще и имена функций отображались - было б нагляднее.
Opuhshii (2002-08-15 14:39:00) [2]2xyz © (15.08.02 14:34)
почти так, при некоторых условиях,...
процедура ваша в Dll,
тогда можно получить точку входа в неё GetProcAddress,...
параметры придется тоже ручками передавать imho,. это не так уж и страшно,. .%)
xyz (2002-08-15 14:34:00) [3]А можно вызвать функцию через строковую переменную?
McSimm (2002-08-15 10:18:00) [4]При определенных затратах - да, возможно.
Для этого можно использовать Map-файл.
Это позволит иметь полную информацию о месте выполнения, о месте возникновения ошибки и даже стек вызовов привязанно к исходным текстам проекта.
Проще всего разобраться с этой методикой можно с помощью библиотеки JCL, в которой есть для этого все необходимые процедуры и примеры использования
Kaban (2002-08-15 09:55:00) [5]весь вопрос зачем
Opuhshii (2002-08-15 09:55:00) [6]2Kaban © (15.08.02 09:55)
imho человеку интерпретатор нужен,..
kerkonst (2002-08-15 09:51:00) [7]Можно каждую функцию/процедуру описать в классе, совпадающем с ее именем. Тогда его легко получить.
Но, это ТАКОЕ извращение, что, мне кажется, так явно не стоит делать...
Kaban (2002-08-15 09:06:00) [8]function MyFunc;
const FName = "MyFunc";
begin
end;
Ученик (2002-08-15 08:42:00) [9]В общем случае нет