Форум: "Начинающим";
Текущий архив: 2008.07.20;
Скачать: [xml.tar.bz2];
ВнизДаже не знаю как тему обозвать ... ))) Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.049 c