powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / использование ссылок на классы
7 сообщений из 7, страница 1 из 1
использование ссылок на классы
    #39768816
Swv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте.


Запутался в двух соснах.


есть первый класс. и у него свойство другого класса. основного, скажем так.
А этот основной класс манипулирует переменными третьего класса. причем основной класс имеет свойства типа третьего класса.

первый и третий объявлены в одном юните. основной - в другом. в uses идет перекрестное использование юнитов. и естественно не компилируется.

Может конечно перемудрил с зависимостями, но вроде как надо по логике.

можно как нибудь вывернуться из этой ситуации? в любом случае первый класс должен уметь обращаться к функциям основного. А основной понимать что есть первый.
Можно конечно просто свалить их в один юнит. Но как то не хочется все в один
...
Рейтинг: 0 / 0
использование ссылок на классы
    #39768817
asviridenkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Swv,

можно почитать про dependency injection.
...
Рейтинг: 0 / 0
использование ссылок на классы
    #39768820
Фэйтл Эра
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Swv,

стало быть, Class_1 ассоциирован с Основным, Основной ассоциирован с Class_3.
Cмело разноси классы по разным модулям, если нет других зависимостей.

Код: pascal
1.
2.
3.
unit uClass_3;
Class_3  = class
end;



Код: pascal
1.
2.
3.
4.
5.
unit uОсновной;
uses uClass_3;
Основной  = class
  поле1 : Class_3 
end;


Код: pascal
1.
2.
3.
4.
5.
unit uClass_1
uses uОсновной;
Class_1  = class
  поле1: Основоной;
end;



Или не мучайся, вали все зависимые классы в один модуль. Это дельфи. :)
...
Рейтинг: 0 / 0
использование ссылок на классы
    #39768934
Swv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Фэйтл ЭраSwv,

стало быть, Class_1 ассоциирован с Основным, Основной ассоциирован с Class_3.
Cмело разноси классы по разным модулям, если нет других зависимостей.

Код: pascal
1.
2.
3.
unit uClass_3;
Class_3  = class
end;



Код: pascal
1.
2.
3.
4.
5.
unit uОсновной;
uses uClass_3;
Основной  = class
  поле1 : Class_3 
end;


Код: pascal
1.
2.
3.
4.
5.
unit uClass_1
uses uОсновной;
Class_1  = class
  поле1: Основоной;
end;



Или не мучайся, вали все зависимые классы в один модуль. Это дельфи. :)

не. в итоге получается так

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
unit uОсновной;
uses uClass_1;
Основной  = class
  поле1 : Class_1 
end;

unit uClass_1
uses uОсновной;
Class_1  = class
  поле1: Основоной;
end;
...
Рейтинг: 0 / 0
использование ссылок на классы
    #39769020
Фэйтл Эра
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Swv,

Цикл же.
...
Рейтинг: 0 / 0
использование ссылок на классы
    #39769024
Swv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Фэйтл ЭраSwv,

Цикл же.

именно. заменил на pointer
а юнит подключил в implementation
...
Рейтинг: 0 / 0
использование ссылок на классы
    #39769043
goldmi45
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Swvзаменил на pointer

зачем? есть же TObject. Зачем же к нетипизированному указателю?
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / использование ссылок на классы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]