компиляция останавливается на строке
- Код: Выделить всё
Include(FCloseButton.ComponentStyle, csSubComponent);
с ошибкой
xtabcontrol.pas(199,54) Error: Can't take the address of constant expressions
в чем проблема?
Модератор: Модераторы
Include(FCloseButton.ComponentStyle, csSubComponent);
xtabcontrol.pas(199,54) Error: Can't take the address of constant expressions
alaken писал(а):Can't take the address of constant expressions
alaken писал(а):xtabcontrol.pas(199,54)
Include(FCloseButton.ComponentStyle, csSubComponent);
TComponentStyle = set of (csInheritable, csCheckPropAvail, csSubComponent, csTransient);
uses
Classes
,LCLClasses...
Эта ошибка может также быть отображена, если Вы пытаетесь передать свойство к переменному параметру.
alaken писал(а):
- Код: Выделить всё
Include(FCloseButton.ComponentStyle, csSubComponent);
с ошибкойxtabcontrol.pas(199,54) Error: Can't take the address of constant expressions
в чем проблема?
Include(FComponentStyle, csSubComponent);
Include(FCloseButton.FComponentStyle, csSubComponent);
Vadim писал(а):alaken
Насколько я понял, свойство FCloseButton.ComponentStyle - только для чтения, а Вы пытаетесь изменить значение.
Попробуйте сделать так:
- Код: Выделить всё
Include(FCloseButton.FComponentStyle, csSubComponent);
xtabcontrol.pas(209,24) Error: identifier idents no member "FComponentStyle"
FeodoR писал(а):Изменения в версии 2.4.0
alaken
Посмотри, какой из параметров передаётся как const/var, определи переменную соответствующего типа, задай ей нужное значение и засунь в процедуру. Должно сработать.
alaken писал(а):Vadim писал(а):alaken
Насколько я понял, свойство FCloseButton.ComponentStyle - только для чтения, а Вы пытаетесь изменить значение.
Попробуйте сделать так:
- Код: Выделить всё
Include(FCloseButton.FComponentStyle, csSubComponent);
пишет:xtabcontrol.pas(209,24) Error: identifier idents no member "FComponentStyle"
type
THackButton = class(TButton) // Зависит от того к какому классу относится ваша переменная FCloseButton
end;
...
Include(THackButton(FCloseButton).FComponentStyle, csSubComponent);
...
Далее создадим сам ProgressBar и укажем, что он является встроенным компонентом. Это позволит сохранять его свойства вместе со свойствами основного компонента в файле определения формы.
- Код: Выделить всё
FProgressBar := TProgressBar.Create(Self);
Include(FProgressBar.ComponentStyle, csSubComponent);
alaken писал(а):посмотрел кучу исходников компонентов, нигде подобной конструкции нет...
может это уже не актуально или правильным будет делать как написано в статье?
Mr.Smart писал(а):...В данной статье есть ошибка, на которую вы как раз и наткнулись.
alaken писал(а):Лазарус не рекомендован к использованию как не достаточно зрелый проект..."
Сейчас этот форум просматривают: Yandex [Bot] и гости: 14