![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Имя процедуры\функции внутри себя ...
Slaga © (2004-07-29 15:31:00)Подскажите пожалуйста, как узнать имя процедуры\функции внутри самой себя, возможно ли такое ?
Slaga (2004-07-29 17:53:00) [1]Да, если б просто было что то типа Self.ProcName :))
Гаврила (2004-07-29 16:28:00) [2]то есть вместо записи
Log('ProcedureName')
получится
try
Assert(False)
except
//обработка номера строки
//запись в лог
end;
try \ except нужен для того, чтобы выполнение продолжалось, если в протокол записывается просто информация о нормальном ходе.
Смысла не вижу в упор
Slaga (2004-07-29 16:03:00) [3]Спасибо
default (2004-07-29 16:03:00) [4]Mas: Array[1..LastStringNumber] of String = (...,'P2', ...)
по-моему эту идею Игорь Осовяк подал(сори если ошибся в написании фамилии)
default (2004-07-29 15:59:00) [5]1 procedure P1;
2 begin
3 end;
4
5 procedure P2;
6 begin
7 из Assert(False) можно достать цифру 7(то есть номер строки кода где возникло искл-ие(
и потом Log(Mas[ExtractStringNumber])
...
Mas: Array[1..LastStringNumber] of String = (...,'2', ...)
либо навроде этого массив
либо форм-ать массив ТОЛЬКО со строками подпрограмм меньше памяти расх-ся но меньше скорость доступа
Palladin (2004-07-29 15:56:00) [6]
> default © (29.07.04 15:47)
Так это индексатор писать надо... Существующих я вроде не видел...
Slaga (2004-07-29 15:51:00) [7]>default
а можна пару строк кода в пример ?
Palladin (2004-07-29 15:50:00) [8]Где?
Slaga (2004-07-29 15:49:00) [9]>Palladin
Автоматизация !
default (2004-07-29 15:47:00) [10]как-то предлагалось внутри ф-ции вызывать Assert для генер-ии искл-ия, оно даст номер строки
и составить массив соот-вия номеров строк и имён подпрограмм
Palladin (2004-07-29 15:47:00) [11]Какая разница: писать LogWrite(GetProcName) или LogWrite('MyProc') ?
Slaga (2004-07-29 15:44:00) [12]Я делаю журналирование работы своей программы, попросту говоря веду лог, и в определенных прц\фнк запысываю в лог время дейсвие и результат, нехочеться каждый раз писать руками что за процедура пишет в лог.
Palladin (2004-07-29 15:40:00) [13]Интересно, а зачем тебе это?
Slaga (2004-07-29 15:38:00) [14]:( жаль
Ega23 (2004-07-29 15:32:00) [15]В общем случае, к сожалению, нет. В частных - через большие извраты.