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