IPB
ЛогинПароль:

> Правила раздела!

1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!

> Как взаимно использовать модули?
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 2
Пол: Женский
Реальное имя: *

Репутация: -  0  +


Приветик! Не подскажете, как можно сделать, чтоб модули друг друга использовали? Они категорически отказываются!) Как вообще можно использовать эту возможность - чтоб uses было после implementation и все работало?) он выдает такие разнообразные ошибки компилляции.. lol.gif
И еще..Вот, допустим, в одном модуле описан объект, в другом - его потомок, у который часть методов переопределил. Как можно из него воспользоваться одноименным родительским методом? а еще желательнее - из родителя - методом потомка..
Наверно - вообще низзя? mega_chok.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






Цитата
Как вообще можно использовать эту возможность - чтоб uses было после implementation и все работало?)
Если Uses - после Implementation - то все работает... Если же ты два модуля присоединиши друг к другу в Interface - то будет Circullar Unit Reference (я даже объяснял, почему это происходит...)

Поскольку ты не сказала, какие именно "разнообразные" ошибки тебе выдает компилятор, то все, что могу сделать - сказать, что вот ЭТО:

Unit P1;
interface

implementation
uses P2;

end.


Unit P2;
interface

implementation
uses P1;

end.
будет прекрасно компилироваться... Хотя модули тоже циклически вызывают друг друга...

Цитата
допустим, в одном модуле описан объект, в другом - его потомок, у который часть методов переопределил. Как можно из него воспользоваться одноименным родительским методом?
Опять же, смотря как переопределил... Но из метода потомка всегда можно попробовать вызвать метод родителя:
Type 
TA = object
procedure P;
end;

Type
TB = object
procedure P;
end;

procedure TB.P;
begin
Inherited P; { <--- Вызов метода родителя }
end;


Цитата
а еще желательнее - из родителя - методом потомка..

FAQ: ООП -> Виртуальные методы
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3





Группа: Пользователи
Сообщений: 2
Пол: Женский
Реальное имя: *

Репутация: -  0  +


Спасибочки, и правда работает) Я просто пыталась сделать ему малость ненужную вещь, надо ее по-другому реализовать. Начал говорить, например, что ошибка 70- что-то там изменилось.. И ведь прально делал..
Inherited - точно! blush.gif не зря, не зря было такое слово в чужой лекции))) пасиб !yessir.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 2.05.2024 16:51
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name