![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Суть задачи такова. Есть процедура MyProc.
Вызывается в разных местах, пусть в Button1Click, Button2Click, MyMegaFunc и Edit1Change. То есть как в обработчиках событий так и в пользовательских функциях\процедурах. Ну и собственно вопрос, можно ли и если да то как, внутри MyProc поиметь в строковой переменной имя вызвавшей процедуры\функции? Естественно ничего не передавая процедуре в качестве параметров. Ну пусть это процедура должна вызываться вообще без параметров. |
|
#2
|
|||
|
|||
|
можно с jedi скачать специальный модуль, который позволяет выяснить это по стеку вызовов. Собственно, сама дельфя в режиме отладки тоже позволяет это сделать - смотри окно стека вызовов.
|
|
#3
|
||||
|
||||
|
а что-то вроде стандартных Sender-ов оформить не судьба? вот (как вариант):
Код:
//фунцкия
function MyFunc(param1:integer;....;senderfunc:string):resulttype;
begin
if senderfunc='Button1Click' then begin
//.....
end else if senderfunc='...' then begin
//.....
end else if senderfunc='...' then begin
//.....
end else if senderfunc='...' then begin
//.....
end;
end;
//вызов функции
procedure TForm1.Button1Click(Sender: TObject);
begin
//.....
MyFunc(param1,param2,...,paramN,'Button1Click');
//.....
end; |