Здравствуйте, уважаемые!
Имею код:
Код:
{$APPTYPE CONSOLE}
program Project1;
uses classes, sysutils;
type
myclass = class( TPersistent )
procedure test;
end;
procedure log( msg : string );
var
magic : string;
begin
magic := '???';
Writeln( format( '%s:%s', [ magic, msg ] ) );
end;
{ myclass }
procedure myclass.test;
begin
log('here');
end;
begin
with myclass.Create do
begin
test;
Free;
end;
Readln;
end.
На выходе, естественно "???:here". Внимание вопрос!
Реально ли получить внутри функции log вместо ??? имя
класса и метода из которгого эта функция вызвана. Да,
функция лог действительно не метод класса, это не
очепятка.
Если это нереально, можно ли сделать подобное если
сделать log методом предка этого класса? Ну вы поняли,
хочется простенький юнит-логгер. Сторонних монстров
пожалуйста не предлагайте.
Спасибо за внимание.