Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.06.2010, 16:46   #11
Sanprof
Форумчанин
 
Аватар для Sanprof
 
Регистрация: 28.01.2008
Сообщений: 267
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А почему не сюда?
Типы в interface обьявляются а не в implementation
Uses нужно именно перед type писать
я просто имел в виду, что Class_A и Class_B - это названия модулей (unit-ов), а не классов, как например есть две формы и если в обоих модулях написать Uses Unit1 и Uses Unit2 в разделе Interface, то компилятор выдаст ошибку, поэтому нужно в одном из модулей Uses Unit1 либо Uses Unit2 записать в резделе implementation.
Не забываем говорить спасибо за помощь - это ведь так приятно
Sanprof вне форума Ответить с цитированием
Старый 23.06.2010, 16:59   #12
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ты просто недосказал свою мысль )
В общем автору не просто нужно правильно связать модули, но и открыть поля ибо они в Private секции:
Код:
unit UnitA;

interface
 uses Classes,UnitB;
type

  A = class
  private
    List : TList;       // лист из экземпляров класа B
  public  k: integer;
    procedure Add (ClassB: B);  // процедура добавления в List
  end;

implementation

{ A }

procedure A.Add(ClassB: B);
begin
 ClassB:=b.Create(self);

end;

end.
Код:
unit UnitB;

interface
type
  B = class
  private
   Parent:TObject;
   procedure abcdef;
  public
   Constructor Create(AParent:TObject);
  end;

implementation
 uses UnitA;

{ B }

procedure B.abcdef;
begin
  a(Parent).k:=1;
end;

constructor B.Create(AParent: TObject);
begin
  Parent:=AParent;
end;

end.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 24.06.2010, 07:39   #13
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Не знаю, я бы все залил в один модуль и не испытывал никаких мук совести . И работать вполне удобно - Дельфи все равно навигацию и по классам и по их методам делает. Никаких проблем не вижу... А если не верите, гляньте на VCL.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 24.06.2010, 08:54   #14
Ferrum26
Пользователь
 
Регистрация: 27.04.2010
Сообщений: 16
По умолчанию

Спасибо за пример с Parent. Буду пробовать.
С Uses проблемы возникали потому думал что Parent должен быть типа A. Тогда надо было бы в обоих классах до implementation обьявлять модули.
Код:
{ A }
это просто комментарий?
Ferrum26 вне форума Ответить с цитированием
Старый 24.06.2010, 09:46   #15
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
это просто комментарий?
Да. Этот коммент Делфи сама проставила, как только я описал класс, и жмакнул CTRL+ALT+S чтоб она мне их шаблоном кода укомплектовала.
Так она типа показывает что тут начинается реализация некого класса
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как узнать какому классу принадлежит объект? boris-blade Общие вопросы .NET 3 08.04.2010 01:08
Почему из метода класса нельзя обратиться к компоненту на форме? Дима я Общие вопросы Delphi 2 28.03.2010 13:21
Как обратиться к объекту формы из другого класса java micha-r Общие вопросы по Java, Java SE, Kotlin 1 03.10.2009 21:07
Известны оценки по физике каждого из 20 учеников класса. Определить среднюю оценку по классу sinid Паскаль, Turbo Pascal, PascalABC.NET 6 23.01.2009 17:30
Обратиться к классу (Delphi) Air Помощь студентам 16 17.07.2008 19:51