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