Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.07.20;
Скачать: CL | DM;

Вниз

Даже не знаю как тему обозвать ... )))   Найти похожие ветки 

 
TUserClass   (2008-06-18 17:22) [0]

Удалено модератором
Примечание: А ты подумай и только тогда пиши.


 
Поросенок Винни-Пух ©   (2008-06-18 17:26) [1]

а не наоборот?


 
TUserClass   (2008-06-18 17:30) [2]

нет .... Вот именно из процедуры дочернего класса надо вызвать процедуру родительского....уж0с :)

вот что-то наковырял:

Self.ClassParent.MethodName (@TClass2.Proc1);

Надо будет завтра попробовать - хотя мне кажется что это - не то ...


 
McSimm ©   (2008-06-18 17:31) [3]


> Выручайте! Интересно сколько народу поняло, что я имел ввиду?
>  ))) ...

Потратили бы минимум усилий на формулирование вопроса, кто-то бы понял.


 
Поросенок Винни-Пух ©   (2008-06-18 17:31) [4]

tclass2var1.Class1 := class1var1;
tclass2var2.Class1 := class1var1;
tclass2var3.Class1 := class1var1;
...
tclass2varN.Class1 := class1var1;

и у какого теперь экзкмпляра ткласс2 (из N существующих и ссылающихся на один и тот же эекземпляр класс1 вызывать proc1?


 
Юрий Зотов ©   (2008-06-18 17:37) [5]

> TUserClass   (18.06.08 17:30) [2]
> из процедуры дочернего класса надо вызвать процедуру родительского

В Вашем коде нет родительского и дочернего класса, а есть два совершенно независимых класса. Поэтому требуется уточнение - что же все-таки нужно сделать?


 
Поросенок Винни-Пух ©   (2008-06-18 17:37) [6]

Вот именно из процедуры дочернего класса

Это с какого такого он вдруг стал "дочерним"?


 
Поросенок Винни-Пух ©   (2008-06-18 17:38) [7]

что нужно сделать он уже сказал.
теперь пусть ответит на [4]

:)


 
TUserClass   (2008-06-18 17:40) [8]

Так....момент - щас с мыслями соберусся :)


 
Поросенок Винни-Пух ©   (2008-06-18 17:41) [9]

а так что делать если нет ни одного экземпляра tclass2 или у всех их в поле class1 nil


 
Юрий Зотов ©   (2008-06-18 17:43) [10]

> Поросенок Винни-Пух ©   (18.06.08 17:38) [7]

Не знаю, как он, а я бы отвечать на [4] не взялся. Мощности моего телепатора не хватает даже на то, чтобы хотя бы понять, что же такое там имелось в виду. По крайней мере, за разумное время.


 
Поросенок Винни-Пух ©   (2008-06-18 17:47) [11]

там же все по-русски.

имеется N экземпляров TClass2, у которых в поле Class1 прописана ссылка на один и тот же экземпляр TClass1

Он хочет вызвать метод TClass2 из метода TClass1.
Мне интересно у которого именно экземпляра он это будет делать.
из N имеющихся.


 
TUserClass   (2008-06-18 17:48) [12]

Не могу сформулировать никак ... :(

Вот мне надо что то вроде этого

[что-то, указывающее на переменную класса TClass2, из под которой сейчас выполняется процедура дочернего класса TClass1.Proc1 ].Proc1;

Опять какт не понятно


 
Поросенок Винни-Пух ©   (2008-06-18 17:49) [13]

нет там никаких дочерних классов


 
TUserClass   (2008-06-18 17:49) [14]


> Поросенок Винни-Пух ©   (18.06.08 17:47) [11]
> ...
> Он хочет вызвать метод TClass2 из метода TClass1.
> Мне интересно у которого именно экземпляра он это будет
> делать.
> ...


А этот ответ-"вопрос" [4] я вообще не вник


 
Поросенок Винни-Пух ©   (2008-06-18 17:50) [15]

вот чудо.
а ссылку на себя передать вызывая TClass1.Proc1 не догадаться?


 
Поросенок Винни-Пух ©   (2008-06-18 17:52) [16]

TClass1 = class ()
  procedure Proc1(Caller : TClass2);    
end;


 
McSimm ©   (2008-06-18 17:54) [17]


> Не могу сформулировать никак ... :(

Я попробую помочь с этим.

Тема ветки: Обращение из одного класса к экземпляру другого, который знает о первом.

Вопрос:
Есть некая организация из двух классов, назовем условно "главный" и "подчиненный". Экземпляры подчиненного класса знают про главный, но главный не знает про подчиненный. Можно ли и как при такой организации вызвать метод подчиненного класса из главного ?


 
Юрий Зотов ©   (2008-06-18 17:55) [18]

> Поросенок Винни-Пух ©   (18.06.08 17:47) [11]

Ни у которого. Потому что тот самый "один и тот же экземпляр TClass1" ни об одном экземпляре TClass2 (из N имеющихся) вообще не знает. Вызывать просто нечего.

У автора явно наблюдается некая мешанина в терминологии, поэтому он и не может ничего объяснить толком. Думаю, если бы он попробовал сделать это простыми русскими словами, то у негополучилось бы лучше.


 
McSimm ©   (2008-06-18 18:01) [19]

Ответ на [17]. Нет, при такой организаци это невозможно.
В общем случае может быть неограниченное количество экземпляров "подчиненного" класса. ( см. [4] )

Необходимо дать знать "главному" эту информацию. Например "главный" класс может держать у себя список экземпляров подчиненных, который модифицируется при любом создании / уничтожении экземпляров подчиненного класса.


 
Поросенок Винни-Пух ©   (2008-06-18 18:01) [20]

он просто сразу не сказал самого главного

TClass1.Poroc1 вызывается не просто так, а из метода TClass2.Proc1

и вопрос тогда приобретает совсем иной смысл.


 
Поросенок Винни-Пух ©   (2008-06-18 18:03) [21]

указывающее на переменную класса TClass2, из под которой сейчас выполняется процедура дочернего класса TClass1.Proc1.Proc1

procedure TClass1.Proc1(Caller : TClass2);    
begin
ля-ля-тополя;
Caller.Proc1;
end;


 
McSimm ©   (2008-06-18 18:03) [22]


> и вопрос тогда приобретает совсем иной смысл.

действительно.



Страницы: 1 вся ветка

Текущий архив: 2008.07.20;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.026 c
15-1212582144
123-ий
2008-06-04 16:22
2008.07.20
Skype


2-1213894982
DJ_UZer
2008-06-19 21:03
2008.07.20
Ускорение запуска программы


1-1195656625
GIo
2007-11-21 17:50
2008.07.20
Помогите разобраться


15-1212655691
Alkid
2008-06-05 12:48
2008.07.20
Planner


2-1213883070
Beer_Hunter
2008-06-19 17:44
2008.07.20
Mail Merge