![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
RTTI
ANTPro © (2007-08-30 17:07:00)Возможно ли узнать имя экземпляра класса в его конструкторе.
Юрий Зотов (2007-08-30 18:32:00) [21]> ANTPro © (30.08.07 17:23) [14]
> А мне надо имя Self в коде.
А никакого имени у Selph, вообще говоря, нет. Имя есть у компонентов(да и то не всегда), а Self может быть и не компонентом.
Ega23 (2007-08-30 17:42:00) [22]
>
> Это имя класса.
> А мне надо имя Self в коде.
>
А, пардон, нафига?
Просто есть мнение, что у тебя что-то не так с идеологией...
Reindeer Moss Eater (2007-08-30 17:27:00) [23]Вот для чего это надо:
[-------0] Информация : Экземпляр GlobalLog класса TLog создан.
Присваивай имена экземплярам и будет тебе щастие
ANTPro (2007-08-30 17:24:00) [24]> [13] Сергей М. © (30.08.07 17:22)
Придется сделать :(
ANTPro (2007-08-30 17:23:00) [25]> [5] Ega23 © (30.08.07 17:15)
Это имя класса.
А мне надо имя Self в коде.
> [8] Сергей М. © (30.08.07 17:17)
Да спасибо я понял.
> [9] Сергей М. © (30.08.07 17:18)
Я думал что RTTI более функционально :)
Вот для чего это надо:
[-------0] Информация : Экземпляр GlobalLog класса TLog создан.
[------96] Информация : Экземпляр RenderTime класса TPerformance создан.
[------55] Информация : Экземпляр FPSCounter класса TPerformance создан.
[------88] Информация : Экземпляр GlobalInput класса TUserInput создан.
[------36] Информация : Экземпляр класса TProcArray создан.
[------56] Информация : Экземпляр GlobalRender класса TRender создан.
[------95] Информация : Экземпляр GlobalWindow класса TWindow создан.
[------50] Информация : Экземпляр класса TLights создан.
[------56] Информация : Экземпляр класса TLight создан.
[------56] Информация : Экземпляр GlobalCore класса TCore создан.
[------56] Информация : Экземпляр DebugCounter класса TPerformance создан.
[------56] Информация : Среднее время выполнения счетчика DebugCounter: 0 ms
[------56] Информация : Экземпляр DebugCounter класса TPerformance разрушен.
[----6371] Информация : Экземпляр GlobalWindow класса TWindow разрушен.
[------44] Информация : Экземпляр класса TCamera разрушен.
[------56] Информация : Экземпляр класса TCamera разрушен.
[------56] Информация : Экземпляр класса TSkyBox разрушен.
[------56] Информация : Экземпляр класса TObject3D разрушен.
[------56] Информация : Экземпляр класса TCamera разрушен.
[------56] Информация : Экземпляр класса TModel разрушен.
[------56] Информация : Экземпляр GlobalData класса TGame разрушен.
[------56] Информация : Экземпляр GlobalInput класса TUserInput разрушен.
[------56] Информация : Экземпляр класса TProcArray разрушен.
[------56] Информация : Экземпляр GlobalRender класса TRender разрушен.
[------56] Информация : Среднее время выполнения счетчика RenderTime: 81 ms
[------56] Информация : Экземпляр RenderTime класса TPerformance разрушен.
[------56] Информация : Среднее время выполнения счетчика FPSCounter: 3473876 ms
[------56] Информация : Экземпляр FPSCounter класса TPerformance разрушен.
[------56] Информация : Экземпляр GlobalCore класса TCore разрушен.
[------56] Информация : Экземпляр GlobalLog класса TLog разрушен.
Сергей М. (2007-08-30 17:22:00) [26]
> ANTPro © (30.08.07 17:07)
>
> имя экземпляра класса
И, в целом и общем, не гони ботву - у экземпляра класса нет никакого "имени".
Reindeer Moss Eater (2007-08-30 17:21:00) [27]и самое главное нафига это вообще хотеть знать, если на рантайме нет уже никаких имен у переменных
Сергей М. (2007-08-30 17:20:00) [28]
> может быть вагон и маленькая тележка.
>
А может быть и ни вагона ни тележек, что тоже кстати.
Reindeer Moss Eater (2007-08-30 17:19:00) [29]тем более что переменных, указывающих на один и тот же эекземпляр, может быть вагон и маленькая тележка.
Сергей М. (2007-08-30 17:18:00) [30]И RTTI здесь, кстати, ни причем вообще
Сергей М. (2007-08-30 17:17:00) [31]
> ANTPro © (30.08.07 17:12) [2]
GlobalGame в твоем коде - идентификатор некоей переменной, о наличии коей код в теле конструктора класса TGame не имеет ни малейшего понятия.
Reindeer Moss Eater (2007-08-30 17:15:00) [32]Оно вообще будет пустое по твоему коду
Сергей М. (2007-08-30 17:15:00) [33]
> Как в TGame.Create получить строку GlobalGame ?
>
Никак.
Ega23 (2007-08-30 17:15:00) [34]
constructor TGame.Create;
begin
ShowMessage(Self.ClassName);
end;
если я правильно понял то, что тебе нужно.
Reindeer Moss Eater (2007-08-30 17:14:00) [35]GlobalGame := TGame.Create;
А кто тебе сказал, что имя экземпляра будет глобалгейм?
Ega23 (2007-08-30 17:13:00) [36]Self
ANTPro (2007-08-30 17:12:00) [37]Я наверно не правильно выразился:
begin
GlobalGame := TGame.Create;
GlobalGame.Start;
GlobalGame.Free;
end.
---
Как в TGame.Create получить строку GlobalGame ?
Reindeer Moss Eater (2007-08-30 17:08:00) [38]А какие сомнения?
Это же обычное свойство.