На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! ПРАВИЛА РАЗДЕЛА · FAQ раздела Delphi · Книги по Delphi
Обязательно выделяйте текст программы тегом [сode=pas] ... [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.

Этот раздел предназначен для вопросов, посвященных разработке компонентов, а также для тестирования собственных бесплатных компонентов с открытым исходным кодом.

Здесь запрещается:
1. Размещать ссылки на какие-либо коммерческие компоненты, реализующие требуемую функциональность.
2. Обсуждать и тестировать коммерческие компоненты или компоненты с закрытым кодом.
3. Давать ссылки на сайты с исходным кодом компонентов. Все тестируемые исходные коды должы быть размещены на сайте ИСХОДНИКИ.RU.
Модераторы: Rouse_, DimaBr
  
> Допустить функцию к работе при условии - если один компонент видит другой , Допустить функцию к работе при условии - если один компонент видит другой
    Добрый день!

    Созданы два простых компонента.
    В первом есть поле, в которое можно выбрать из списка второй компонент.

    Например:

    ExpandedWrap disabled
      TMyMajorComponent =(TComponent)
      private
        FMyMinorComponent : TMyMinorComponent;
      ..........
       
      ............
       property MyMinorComponent : TMyMinorComponent read FMyMinorComponent write FMyMinorComponent;
       
      Create TMyMajorComponent(AOwner: TComponent);
      begin
        inherited Create(AOwner);
        FMyMinorComponent := TMyMinorComponent.Creat(nil);
      end;
       
      где-нибудь есть функция расчета:
       
      function TMyMajorComponent.GetDataElement(Index : Integer): Double;
      begin
       где необходимо указать? что расчет проводится только при условии, что если поле MyMinorComponent в компоненте TMyMajorComponent заполнено "MyMinorComponent1" (не пустое!)
      end;


    Как это можно сделать?

    Спасибо.
    конструкция вначале функции типа "if not Assigned(FNativeOwner) then Exit" не проходит, расчет далее этой строки все равно проводится.
    Сообщение отредактировано: SkAndriy -
      Не перестаешь удивлять - с какой стати поле FMyMinorComponent будет пустым, если ты в конструкторе TMyMajorComponent его сам же и создаешь:

      Цитата SkAndriy @
      ExpandedWrap disabled
        begin
         inherited Create(AOwner);
         FMyMinorComponent := TMyMinorComponent.Creat(nil); //!!! => Assigned
        end;
        ошибку понял. спасибо
        0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
        0 пользователей:


        Рейтинг@Mail.ru
        [ Script execution time: 0,0464 ]   [ 17 queries used ]   [ Generated: 25.04.24, 04:50 GMT ]