Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Обращение к классам [D6, WinXP]


Страницы:   1 2

webpauk ©   (2005-02-25 12:31:00) 

unit 2

interface

uses
  Windows,
  Messages,
  Unit 1;

type
 Tclass2 = class
 private
    fClass1: TClass1;
 public
   constructor Create;
   destructor Destroy; override;
end;

 constructor Tclass2.Create;
 begin
   Fclass1:=Tclass1.Create;
   fParent:=Self;
 end;

{- - - - - - - - -- - - - - -- - -}

unit 1

interface

uses
  Windows,
  Messages;

type
 Tclass1 = class
 private
   fParent: ?
 public
   constructor Create;
   destructor Destroy; override;
end;


Как из Unit 1 обратиться Unit 2. К какому типу должен относиться Tclass1.fParent?


webpauk   (2005-02-25 14:13:00) [1]

>Инструктор    - Ok!


webpauk   (2005-02-25 14:11:00) [2]

а Инструктор>"ТОлько в одном юните делать с форвардом." - этого добра и у самих навалом.


Инструктор   (2005-02-25 14:11:00) [3]


> (Value(TObject).ClassType as Tclass2).ID


Бррр. Давай сделаем вид что ничего не было и на сегодня - отдыхай. :)
Тебе дали решения - 2 штук. Удачи.


webpauk   (2005-02-25 14:08:00) [4]

Кстати, с Tobject и Pointer, я и раньше допер. Только как обратиться к (Value(TObject).ClassType as Tclass2).ID - я никак не смог


webpauk   (2005-02-25 14:05:00) [5]

>Плохиш
Я вопрос задал правильный (толкового решения как оказалось нет).
всё остальное  - шутка.


Плохиш   (2005-02-25 13:59:00) [6]

Так ты этой своей безграмотностью кичишься?


webpauk   (2005-02-25 13:52:00) [7]

чё напали то на несчастного безграмотного человека.


Digitman   (2005-02-25 13:49:00) [8]


> webpauk   (25.02.05 13:45) [13]


в пору буквари по Паскалю почитать


webpauk   (2005-02-25 13:45:00) [9]

> Плохиш
Хотелось, чтобы модули были отдельно друг от друга (и если нужно, чтобы один модуль можно было подключать к проекту).


webpauk   (2005-02-25 13:39:00) [10]

> Плохиш
Хотелось, чтобы модули были отдельно друг от друга (и если нужно, чтобы один модуль можно было подключать к проекту).


Плохиш   (2005-02-25 13:29:00) [11]


>Не кошерно это !

Мне интересно, это кто ж такое ему сказал? да ещё и так уверенно.


webpauk   (2005-02-25 13:26:00) [12]

Уговорили


Инструктор   (2005-02-25 13:08:00) [13]

unit 1

interface

uses
 Windows,
 Messages;

type
Tclass1 = class
private
  fParent: TObject;
public
  constructor Create;
  destructor Destroy; override;
end;

implementation

uses Unit_2;

constructor Tclass1.Create;
begin
  fParent := Tclass2.Create;
  TClass2(fParent).
  ////
end;


Но лучше пожертвовать Кашерностью. Борланд жертвует и не жужжит.


Digitman   (2005-02-25 13:08:00) [14]


> webpauk   (25.02.05 12:46) [4]
> Только как потом выйти на свойства класса?
> Tobject - неопределенный!!!


про приведение типов что-нибудь слышал ?


> Не кошерно это!


еще как "кошерно".
гораздо "некошерней" городить тот огород, который ты сейчас городишь, разнося тесно связанные меж собой классы по разным юнитам .. хлопот потом не оберешься .. с приведением типов и прочим "огородом" ..

эдак и сам Борланд мог разнести кучу классов из того же Classes.pas по куче разношерстных модулей, однако ж объединил он таки их в единый модуль ! .. и ведь творцы из Борланда далеко-о-о не дураки, согласись ? .. с умом сделано это ..


webpauk   (2005-02-25 13:04:00) [15]

>Инструктор
в разделе реализации - приведение типов.???
Переведи.
Если можно - на данном примере.


Инструктор   (2005-02-25 12:58:00) [16]

> [4] webpauk   (25.02.05 12:46)

Я для Бабая писал? Потрудись прочитать.


webpauk   (2005-02-25 12:52:00) [17]

Точнее:

type
Tclass2 = class
private
   fClass1: TClass1;
public
  constructor Create;
  destructor Destroy; override;
  ID: Integer;
end;


Tclass1.fParent.ID ??


webpauk   (2005-02-25 12:46:00) [18]

>Плохиш
неохота. Не кошерно это!

>Digitman
Tobject -да. Только как потом выйти на свойства класса? Tobject - неопределенный!!!


Плохиш   (2005-02-25 12:41:00) [19]


>webpauk   (25.02.05 12:31)

А классы в один модуль сложить религия не посволяет?


Digitman   (2005-02-25 12:39:00) [20]


> К какому типу должен относиться Tclass1.fParent?


поскольку циркулярные ссылки в дан.случае разрешить не удастся, то как минимум - к TObject или Pointer


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо