Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.04.18;
Скачать: [xml.tar.bz2];

Вниз

Не запоминается 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 вся ветка

Форум: "Основная";
Текущий архив: 2004.04.18;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.034 c
8-1072379579
Eagle Owl
2003-12-25 22:12
2004.04.18
Формат mp3...


14-1080288238
XmPL
2004-03-26 11:03
2004.04.18
почему на сайте не работают ссылки на уроки по KOL ?


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


3-1079593362
russko
2004-03-18 10:02
2004.04.18
Структура Файл-Сервер


8-1073027240
ily
2004-01-02 10:07
2004.04.18
работа со звуком





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский