Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.29;
Скачать: CL | DM;

Вниз

DefineProperties ?   Найти похожие ветки 

 
Bannikov   (2004-02-16 11:52) [0]

Пишу форму в стрим и получается с некоторыми свойствами проблемы, например:

object SpeedButton1: TSpeedButton
Left = 145
Top = 84
Width = 25
Height = 25
Flat =
end

Видите: Flat и нет значения.
Это понимать как то, что Борланды не определили чем писать/читать? Или что? И вообще, таких моментов много набирается. И у формы, например, KeyPriview и т.д., и у других компонентов...

С уважением, Николай.


 
MBo ©   (2004-02-16 12:20) [1]

Не воспроизводится.
Либо пишется
Flat = True
либо нет вообще этой строчки (поскольку у этого свойства есть спецификатор default False)


 
Bannikov   (2004-02-16 13:51) [2]

Нашел.
В Delphi3 точно есть бага. В Delphi7 точно нет.
Короче, GetEnumName был у Борландов с ошибкой в тройке. Там такая неправильность:
function GetEnumName(TypeInfo: PTypeInfo; Value: Integer): string;
var
P: ^ShortString;
T: PTypeData;
begin
T := GetTypeData(GetTypeData(TypeInfo)^.BaseType^);
if T^.MinValue < 0 then { must be LongBool/WordBool/ByteBool }
Value := Ord(Value <> 0); { map non-zero to true in this case }
P := @T^.NameList;
while Value <> 0 do
begin
Inc(Integer(P), Length(P^) + 1);
Dec(Value);
end;
Result := P^;
end;


Но, как известно, T^.MinValue = -1, а т.к. это ByteBool, то 255, а значит больше нуля :-) Т.е. для boolean никогда не выполняетя. Надо еще проверить на TypeInfo = System.TypeInfo(Boolean)... Да уж.

С уважением, Николай.


 
Юрий Зотов ©   (2004-02-16 14:03) [3]

> Bannikov (16.02.04 13:51) [2]
> GetEnumName был у Борландов с ошибкой в тройке

Тогда совершенно непонятно, каким же это образом сама Delphi, пользуясь той же самой GetEnumName, тем не менее, умудряется все сохранять правильно.


 
Bannikov   (2004-02-16 14:45) [4]

Происки врагов...
Видимо, pas не соответствует dcu, а черт меня дернуть перекомпилять.



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

Текущий архив: 2004.02.29;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.024 c
14-94162
sucer
2004-02-09 16:56
2004.02.29
Кто знает Сколько человек пишут LONGHORN?


1-93971
oss
2004-02-17 14:06
2004.02.29
запустить системные программы


1-93866
Bannikov
2004-02-16 11:52
2004.02.29
DefineProperties ?


8-94036
mazepa
2003-10-09 15:22
2004.02.29
Распознавание речи


14-94131
Думкин
2004-02-07 06:28
2004.02.29
С днем рождения! 7 февраля.