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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.05.2022, 09:20   #1
Tip.the.besT
------------------
Пользователь
 
Регистрация: 15.08.2011
Сообщений: 78
По умолчанию Доступ к данным переменных собственных дочерних объектов

Код:
  
 TTemplate = record
    Key               :string;
    Value             :string;
  end;

  TTemplates = record
    Orders                   : array of TTemplate;
    Transfer1Obj             : array of TTemplate;
    Registration1ObjNR       : array of TTemplate;
    Registration1ObjR        : array of TTemplate;
    Lien1Obj                 : array of TTemplate;
    Arrest1Obj               : array of TTemplate;
    WarrMarried1Obj          : array of TTemplate;
    WarrCreditMarried1Obj    : array of TTemplate;
    WarrHeir1Obj             : array of TTemplate;
  end;

  TTreaty = class
    City              : string;
    Date              : string;
    Part              : integer; 
    Lien              : boolean;
    Members           : array of Tmember;
    Objs              : array of TObj;
    Orders            : array of TOrder;
    Parts             : array of TPart;
    Templ             : TTemplates;

    private

    public
      procedure LoadTempl(T:TTreaty; path:string);
LoadTempl выполняет загрузку шаблонов из ini файла, но как видите я вынужден посылать в неё экземпляр класса.

Есть ли возможность не посылать в параметрах экземпляр класса (логично предположить, что она знает своего родителя, ибо Treaty.LoadTempl(Treaty, path) выглядит несколько глупо).

Теперь я хочу реализовать поиск по ключам, и выясняется, что я не могу добавить функцию в TTemplates ибо я не могу указать TTreaty там.

Не знаю даже как у гугла это спросить)
C YBA}|{EH|/|EM Tip.the.besT
Tip.the.besT вне форума Ответить с цитированием
Старый 09.05.2022, 09:26   #2
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,833
По умолчанию

Код:
procedure TTreaty.LoadTempl(path:string);
begin
SetLength(Templ.Orders, 1);
SetLength(Templ.Transfer1Obj, 1);
SetLength(Templ.Registration1ObjNR, 1);
...
end;
macomics вне форума Ответить с цитированием
Старый 09.05.2022, 09:36   #3
Tip.the.besT
------------------
Пользователь
 
Регистрация: 15.08.2011
Сообщений: 78
По умолчанию

Цитата:
Сообщение от macomics Посмотреть сообщение
Код:
procedure TTreaty.LoadTempl(path:string);
begin
SetLength(Templ.Orders, 1);
SetLength(Templ.Transfer1Obj, 1);
SetLength(Templ.Registration1ObjNR, 1);
...
end;
Спасибо. Во я тупой) Искал варианты как через property указать)
C YBA}|{EH|/|EM Tip.the.besT
Tip.the.besT вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Быстрый доступ к данным CUDA Coltic Общие вопросы C/C++ 0 10.01.2017 18:52
Доступ к данным потока. Landgraf132 C# (си шарп) 6 26.10.2015 13:02
Как получить доступ к данным kiber0net0 Помощь студентам 2 03.09.2008 08:14
доступ к данным подчиненной таблицы kopernik21187 БД в Delphi 5 21.08.2008 17:04
Доступ к данным buk Microsoft Office Excel 2 11.07.2007 09:44