Конференция "Компоненты" » Не читаются значения из мультистрокового редактора свойств [D7, WinXP]
 
  • Dr. Andrew (24.07.07 02:57) [0]
    Доброй ночи, Мастера! Написал компонент со свойством:
    private
    FInfo : TStringList;
    procedure SetInfo;
    published
    property Info : TStringList read FInfo write SetInfo;
    Далее в конструкторе:
    constructor TMyComponent.Create(AOwner: TComponent);
    begin
     inherited Create(AOwner);
     FInfo := TStringList.Create;
    и далее
    procedure TMyComponent.SetInfo(Value: TStringList);
    begin
     FInfo.Assign(Value);
    end;
    Вроде все так и появляется после компилирования в Инспекторе свойств рядом со свойством три точки по нажатию которых выпадает "Редактор свойств", но если заполнить редактор свойств и проверить свойство Info на чтение, то оно пусто! Подскажите что здесь не так почему я немогу читать то, что заполнено в виде мультистрок в "Редакторе свойств" ("Multiline text editor")? Спасибо всем, если можно небольшой пример!
  • {RASkov} © (24.07.07 03:17) [1]
    > [0] Dr. Andrew   (24.07.07 02:57)

    Да вроде все верно.... единственное - попробуй заменить в описании тип FInfo на TStrings...
  • Dr. Andrew (24.07.07 03:43) [2]
    не помогает, да класс компонента TCustomControl. Спасибо за диалог.
  • Юрий Зотов © (24.07.07 04:49) [3]
    Это обязано работать:

    type
     TMyComponent = class(TCustomControl)
     private
       FInfo : TStrings;
       procedure SetInfo(const Value: TStrings);
     public
       constructor Create(AOwner: TComponent); override;
       destructor Destroy; override;
     published
       property Info: TStrings read FInfo write SetInfo;
     end;

    constructor TMyComponent.Create(AOwner: TComponent);
    begin
      inherited;
      FInfo := TStringList.Create
    end;

    destructor TMyComponent.Destroy;
    begin
     FInfo.Free;
     inherited
    end;

    procedure TMyComponent.SetInfo(const Value: TStrings);
    begin
     FInfo.Assign(Value)
    end;


    А если не работает, значит, Вы привели не весь код и где-то что-то портится. Возьмите этот скелет, убедитесь, что он работает, а потом начинайте наращивать на него все остальное и после наращивания каждого кусочка проверяйте работоспособность. Как только работать перестанет - в последнем наращенном кусочке и ищите ошибку.

    Или приводите полный код, попробуем посмотреть.
  • DimaBr © (24.07.07 09:01) [4]
    > Юрий Зотов ©   (24.07.07 04:49) [3]
    Абсолютно верно.
    Заменил TStrings на TStringList - тоже работает. Проверено на D6. Давайте больше кода....
  • Dr. Andrew (24.07.07 13:51) [5]
    Спасибо всем! У меня тоже все работает!
  • {RASkov} © (24.07.07 14:47) [6]
    > [5] Dr. Andrew   (24.07.07 13:51)

    Выспался? :) Или так, влегкую поиздевался? :о)
    Что было то? Свой редактор пытался сделать для этого свойства?
  • DimaBr © (24.07.07 15:27) [7]
    Кто ж теперь узнает ???
 
Конференция "Компоненты" » Не читаются значения из мультистрокового редактора свойств [D7, WinXP]
Есть новые Нет новых   [134427   +38][b:0][p:0.001]