Показать сообщение отдельно
  #34  
Старый 21.01.2013, 19:58
Pavel_Aleksandrovich Pavel_Aleksandrovich вне форума
Прохожий
 
Регистрация: 02.09.2012
Сообщения: 31
Репутация: 9
По умолчанию

Цитата:
Сообщение от poli-smen
Свойства могут быть только заранее определённых типов.
Т.е. в твоём случае:
Код:
type
    tuchastok_array = array of tuchastok; // Объявляем новый тип

    tbalka=class
         private
                fuchastok: tuchastok_array; // Теперь используем его здесь
                fshema:tcanvas;
                procedure setshema(value:tcanvas);
         public
               property uchastok: tuchastok_array // и здесь
                       read fuchastok
                       write fuchastok;
               property shema:tcanvas
                       write setshema;
    end;

не очень удобно тогда получается
а разве в предыдущем модуле он не определен? или можно как то его определить не создавая новый тип данных?
я же присваиваю значение из другого модуля
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
     with balka do
         begin
              uchastok[0].dlina:=0.6;
              uchastok[0].ploshad:=2*30;
              uchastok[1].dlina:=0.4;
              uchastok[1].ploshad:=30;
              uchastok[2].dlina:=0.5;
              uchastok[2].ploshad:=30;
         end;

     balka.setshema(form1.canvas);

end;

какое-то масло масленное получается
Код:
tuchastok1=tuchastok;
    tbalka=class
         private
                fuchastok:array of tuchastok1;
                fshema:tcanvas;
         public
               property uchastok:array of tuchastok1
                       read fuchastok
                       write fuchastok;
               procedure setshema(value:tcanvas);
               property shema:tcanvas
                       write setshema;
    end;
Ответить с цитированием