Главная страница
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.018 c
4-94240
kiroykin
2003-12-18 14:08
2004.02.29
Как выловить событие file->save(save as...)


1-93999
zamkom
2004-02-16 16:02
2004.02.29
Оптимизация.


14-94119
MYSTERYO
2004-02-09 10:47
2004.02.29
Где качнуть спрайты из Аллодов? Никто не помнит?


14-94092
-kiril
2004-02-10 11:16
2004.02.29
Delphi под другим профилем


1-93890
Sirus
2004-02-16 06:48
2004.02.29
Как узнать количество записей в массиве типа array of type