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

Вниз

значение по-умолчанию для св-ва типа single   Найти похожие ветки 

 
ancara   (2004-04-01 09:20) [0]

Господа, подскажите. Пишу компонент, сделал у него св-во:property Red: single ... по умолчанию оно должно быть 0.2 (устанавливается при Create), а если оно 0 (ноль) то это уже не по умолчанию, только вот Дельфя об этом не знает и если там 0, она не хочет это св-во в файл формы сохранять (*.dfm). В итоге компонент создается, в Create ставиться 0.2 а потом на 0 не переправляется.


 
Defunct ©   (2004-04-01 09:25) [1]

Примерчик из модуля Froms:

property Visible: Boolean read FVisible write SetVisible default True;


 
Digitman ©   (2004-04-01 09:28) [2]


> если там 0, она не хочет это св-во в файл формы сохранять
>


что, прямо так и говорит, мол, "не хочу ноль сохранять" ?
или как это выглядит ?


 
ancara   (2004-04-01 09:31) [3]

Это я смотрел уже, в help"е значится:
The default and nodefault directives are supported only for ordinal types and for set types, provided the upper and lower bounds of the set’s base type have ordinal values between 0 and 31
Это, типа, тока для ordinal, множеств (set of), boolean и еще чё-то, я не понял...


 
ancara   (2004-04-01 09:33) [4]

Digitman > Не ну я в блокноте открыл файл *.dfm (у меня форма не в бинарном, а в текстовом виде)и там этого св-ва нету. А другие есть, кот. не в ноль...


 
Digitman ©   (2004-04-01 09:47) [5]

оно, свойство-то, у тебя точно published ?


 
Skier ©   (2004-04-01 10:00) [6]


> Это, типа, тока для ordinal, множеств (set of), boolean

угу


 
ancara   (2004-04-01 10:01) [7]

да, конечно...


 
Юрий Зотов ©   (2004-04-01 10:31) [8]

Просто добавьте stored True, а default уберите совсем. Для этого типа свойств опция default не поддерживается.


 
ancara   (2004-04-01 10:36) [9]

В help"е:
If a property has no stored directive, it is treated as if stored True were specified.
У меня странные подозрения, что borland"овцы спецально мне назло так сделали, чтоб таких компонентов не писал...


 
Юрий Зотов ©   (2004-04-01 10:47) [10]

ОК. Есть еще способ - напишите stored IsRedStored и добавьте в private метод:

function TMyClass.IsRedStored: boolean;
begin
 Result := Red <> 0.2
end;


 
Digitman ©   (2004-04-01 10:58) [11]


> borland"овцы спецально мне назло так сделали


угу ... они как знали, что ты скакого-то перепугу это св-во попытаешься сделать single ... хотя по имени св-ва можно сделать вывод, что речь идет о значении цветовой составляющей ... которая вполне можно сделать и целочисленным


 
ancara   (2004-04-01 11:00) [12]

Не, не, не, Юрий, мы друг друга не поняли. То что написано в help"e про stored(см. выше) означает, что если я не укажу явно

stored false
то Дельфя будет считать, что указано
stored true
Я указывал ради эксперимента true (мол: "Это св-во надо сохранить, по-любому!"), она его сохраняет без проблем, но если оно НЕ НОЛЬ. А если ноль она думает типа что его сохранять раз оно ноль. Я так подозреваю, что в Дельфе считается, что ноль - это значение по умолчанию для всех типов свойств, кот. могут быть нулем. Проблема в том, что посредством директивы default можно Дельфе "сказать" что по-умолчанию значение иное, но default не применима к типу single (см. выше). Вообщем я в тупике, надо в Borland жалобы писать :)))
  А за код спасибо Юрию, но он не поможет.


 
ancara   (2004-04-01 11:03) [13]

Digitman > да не я тут с OpenGL немного замутил а в Opengl.pas:
GLfloat = Single;
Но чувствую, что придется сделать ordinal, а в самый ответсвенный момент приводить к диапазону [0.0 ... 1.0]


 
Defunct ©   (2004-04-01 20:20) [14]

Ps: Сохраняйте вручную.


 
Юрий Зотов ©   (2004-04-01 20:39) [15]

> ancara   (01.04.04 11:00) [12]

> Не, не, не, Юрий, мы друг друга не поняли
Эт-точно. Я же написал - stored IsRedStored. А не True.

> А за код спасибо Юрию, но он не поможет
А Вы все-таки попробуйте...
:о)



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

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

Наверх





Память: 0.48 MB
Время: 0.147 c
1-1080713699
Andruha
2004-03-31 10:14
2004.04.18
символы в Edit


3-1079959339
Bizon
2004-03-22 15:42
2004.04.18
DBF в Interbase


14-1078691685
Seriouss
2004-03-07 23:34
2004.04.18
Оцените проги!


7-1076869573
Djon007
2004-02-15 21:26
2004.04.18
Марка проца.....


1-1080665105
ботинок
2004-03-30 20:45
2004.04.18
как в tabcontrole определить по какому из tabs-ов кликнули мышью?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский