Вниз
Скачать: 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.021 c
1-1080715428
Анна
2004-03-31 10:43
2004.04.18
Цветные строки в RichEdit


1-1080700905
Bizquit
2004-03-31 06:41
2004.04.18
Как записать в Buffer побайтно


1-1080646782
Mazer
2004-03-30 15:39
2004.04.18
Автоматически загрузить в Image картинку jpg, gif, bmp... как?


6-1076183970
sadretro
2004-02-07 22:59
2004.04.18
как проверить все IP адресса в локалке .


11-1062612623
Есть вопрос
2003-09-03 22:10
2004.04.18
ПрогрессБарEX




   Наверх