![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как класс может получить указатель на самого себя ? [D7]
ПростоТак © (2006-01-27 04:08:00)И не меняется ли он по мере работы с классом?
Джо (2006-01-30 04:57:00) [1]> [23] ПростоТак (30.01.06 04:45)
> Значит экземпляр класса всё время остаётся на одном и том
> же месте, и его Self не меняется?
>
> Self - это просто указатель на его начало, да? Просто число?
Можно сказать и так.
ПростоТак (2006-01-30 04:45:00) [2]Значит экземпляр класса всё время остаётся на одном и том же месте, и его Self не меняется?
Self - это просто указатель на его начало, да? Просто число?
Джо (2006-01-28 13:28:00) [3]Отчего же нельзя предположить, что автор вопросса именно классы и "двигает". В таком роде:
type
TSomeClass = class of TSome;
var
List: TClassList;
ну, и т.д.
ЮЮ (2006-01-28 12:44:00) [4]Ладно, замнём для ясности. Пока автор вместо слов приведет пару строк с описанием своих классов :)
Gero (2006-01-28 12:41:00) [5]> а переменная obj типа TSomeClass уже не класс, а указатель
> на объект класса TSomeClass, хотя и написано TSomeClass;
Обман налицо.
Kolan (2006-01-28 12:36:00) [6]хотя и написано TSomeClass
Не пойму что вы мне пытаетесь объяснить...
А если TSome Унитаз... :)
ЮЮ (2006-01-28 12:18:00) [7]type
TSome Class; - это класс? Класс!!!
var obj : TSome Class;
а переменная obj типа TSomeClass уже не класс, а указатель на объект класса TSomeClass, хотя и написано TSome Class;
Kolan (2006-01-28 11:58:00) [8]хотя записывается как класс :)
var obj :TSomeClass;
Что записывается как класс?
ЮЮ (2006-01-28 11:53:00) [9]
> Ну то, что obj - это указатель на объект - подразумевается.
> ..
хотя записывается как класс :)
var obj :TSomeClass;
ЮЮ (2006-01-28 11:51:00) [10]тогда и > У меня массив классовподразумевает, что у меня есть массив указателей на объекты
Kolan (2006-01-28 11:46:00) [11]Ну то, что obj - это указатель на объект - подразумевается...
ЮЮ (2006-01-28 11:42:00) [12]
> Ты двигаешь не класс, а ЭКЗЕМПЛАРЫ КЛАССОВ или ОБЪЕКТЫ..
> .
Соьственно, он двигает указатели на объекты, а не сами объекты. Объекты где были созданы, там и остаются.
Эти указатели можно и вовсе потерять, объект же останеся жив.:
obj := TSomeClass.Create;
obj := TSomeClass.Create;
в итоге созданы два объекта. До второго мы можем добраться через переменную obj, ссылка же на первый утеряна.
Владислав (2006-01-28 11:27:00) [13]
> Kolan © (28.01.06 11:15) [11]
Если бы спрашиваюший умел "двигать" экземпляры, то не задавал бы такие вопросы.
Kolan (2006-01-28 11:15:00) [14]У меня массив классов
Ты двигаешь не класс, а ЭКЗЕМПЛАРЫ КЛАССОВ или ОБЪЕКТЫ...
Владислав (2006-01-28 10:15:00) [15]Код приведите.
ПростоТак (2006-01-28 06:57:00) [16]Bogdan1024
> Не может если никто не будет его менять.
А кто его может менять?
У меня массив классов. Если я двигаю классы по массиву, то это ни на что не влияет? Вроде бы нет. Но это точно?
ПростоТак (2006-01-28 06:57:00) [17]Bogdan1024
> Не может если никто не будет его менять.
А кто его может менять?
У меня массив классов. Если я двигаю классы по массиву, то это ни на что не влияет? Вроде бы нет. Но это точно?
Bogdan1024 (2006-01-27 07:06:00) [18]Я так понял вопрос в том может ли меняться адрес объекта.
Не может если никто не будет его менять.
Джо (2006-01-27 06:39:00) [19]> [5] ПростТак (27.01.06 06:37)
> Так он может меняться?
Кто?! или что. Ты так и не удосужился ответить на уточняющие вопросы, о чем можно говорить...
ПростТак (2006-01-27 06:37:00) [20]Так он может меняться?