Вниз
Скачать: CL | DM;

Не запоминается Property.   Найти похожие ветки 

 
TransparentGhost   (2004-03-29 11:47) [0]


Type
 TADSheetStyle=(ShDbGrid, ShSheet);

 TADSheet = class(TScrollBox)
 private
    FSheetStyle:TADSheetStyle;
    FDefRowHeight:Word;
    FDefColWidth:Word;
    FImage:TImage;
    FCells:TADCellsArr;
    FRowHeights:TADRowHeights;
    FColWidths:TADColWidths;
    FSelection:TADSelectionList;
 protected
    ....
 public
    Constructor Create(AOwner: TComponent); override;
    Destructor Destroy; override;
    Procedure Paint;
 published
    Property SheetStyle:TADSheetStyle Read FSheetStyle Write FSheetStyle Default ShSheet;
 end;


Кидаю на форму компонент - SheetStyle=ShDbGrid,
меняю на ShSheet - при переоткрытии проекта опять SheetStyle=ShDbGrid.
Как с этим бороться?


 
Reindeer Moss Eater ©   (2004-03-29 11:49) [1]

Если проперти объявлена с default то дефолт значение надо присваивать в конструкторе. Иначе зачем deafult?


 
Семен Сорокин ©   (2004-03-29 11:50) [2]

TransparentGhost   (29.03.04 11:47)  
Покажи весь код


 
Ricks ©   (2004-03-29 11:50) [3]

Может быть это связано с defaul?


 
Reindeer Moss Eater ©   (2004-03-29 11:52) [4]

Покажи весь код
Он и так понятен исходя из
Кидаю на форму компонент - SheetStyle=ShDbGrid,
меняю на ShSheet - при переоткрытии проекта опять SheetStyle=ShDbGrid


 
Семен Сорокин ©   (2004-03-29 11:56) [5]

именно констркутор интересует


 
TransparentGhost   (2004-03-29 12:05) [6]

Constructor TADSheet.Create(AOwner: TComponent);
Var
  Ii:Word;
Begin
 Inherited Create(AOwner);
 Width:=250;
 Height:=150;
 FDefRowHeight:=22;
 FDefColWidth:=60;
 VertScrollBar.Tracking:=True;
 HorzScrollBar.Tracking:=True;

 If GetClass("TImage")=Nil then
    RegisterClass(TImage);

 FImage:=TImage.Create(Self);
 FImage.Parent:=Self;
 FImage.Top:=0;
 FImage.Left:=0;
 FImage.Width:=800;
 FImage.Height:=600;
End;

У меня есть и другой компонент, там около десятка подобных Property, ни одному из них не задаю значения в конструкторе, всё через Default. Всё работает нормально (и изначально правильно выставляет и запоминает изменения), и только с двумя подобная лажа.


 
mrcat ©   (2004-03-29 12:08) [7]

само наличие Default в коде не подразумевает "использовать по умолчанию" ...

сonstructor TADSheet.Create(AOwner: TComponent);
...
begin
...
 FSheetStyle := что_то_там;
end;


 
TransparentGhost   (2004-03-29 12:10) [8]

Хмм... добавил в Create - всё нормально... но тогда вааще зачем нужен этот Default?


 
Reindeer Moss Eater ©   (2004-03-29 12:12) [9]

Что бы DFM не разбухал без надобности


 
TransparentGhost   (2004-03-29 12:19) [10]

Если установленное значение = Default, тогда в ДФМ не пишет?

Но почему без задания значения в Create - не всегда сохраняются заданные значения? Это мои глюки или Делфи или ещё чьи?


 
Reindeer Moss Eater ©   (2004-03-29 12:23) [11]

Значения свойства равные Default значению не записываются в DFM.
Вот и все.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.022 c
1-1081024810
Arturchik
2004-04-04 00:40
2004.04.18
А как закрывая окно крестиком выполнить что-нибудь?


7-1076972335
ripp
2004-02-17 01:58
2004.04.18
Надо мониторить передачу COM port.


1-1080473505
n313
2004-03-28 15:31
2004.04.18
Как сделать "автоматическое" увеличение высоты DBGrid а ?


1-1080851238
Erik
2004-04-02 00:27
2004.04.18
Как присвоить bitmap из ImageList в TImage?


1-1080337442
garry79
2004-03-27 00:44
2004.04.18
Как принудительно закрыть Excel евский файл?




   Наверх