[DUG] Zero-valued Real Properties not being stored to .DFM
file???(D7 Enterprise)
Stacey Verner
stacey at cjntech.co.nz
Fri Dec 2 07:56:01 NZDT 2005
If you have a default other than zero then you need to specify it as the
default for the property.
e.g.
property Bob: Integer read FBob write SetBob default 1;
This does not set the value of the property at all, so you still have to
set it in the constructor.
The only think this really does, is that the property is not written to
the DFM if it is the deault value.
This is good, because it allows you to change the default value, and any
property that has not set it specifically will get the new default.
Stacey
________________________________
From: delphi-bounces at ns3.123.co.nz
[mailto:delphi-bounces at ns3.123.co.nz] On Behalf Of Moretti, Giovanni
Sent: Thursday, 1 December 2005 15:43
To: NZ Borland Developers Group - Delphi List
Subject: [DUG] Zero-valued Real Properties not being stored to
.DFM file???(D7 Enterprise)
I'm using Delphi 7 Enterprise and I've finally tracked down why
some properties that can be changed in the object inspector don't have
any effect.
I've written a component that contains a real Published Property
X of type REAL:
- X is initialised in the Constructor to +1
- I change X to ZERO using the object inspector
- I run the program and find that X still has its initialised
value (+1)
AAARGH - it's taken quite a while to find out why and it's (as
usual) a single line buried in the help:
"STORAGE SPECIFIERS"
"For Reals, pointer and strings there is an implicit default
value of ZERO"
And it seems the values aren't streamed from the object
inspector into the .DFM file unless they differ from the ASSUMED default
(which is to be ZERO but in my case is actually +1 !!!
To me this seems like a definite bug - you change a value in the
Object Inspector at Design-time but it doesn't make it to the .DFM file
and has no effect on the executable.
Setting STORED on the Property line doesn't help and for Reals
you can't specify a DEFAULT value).
Has this been fixed in later versions of Delphi?
Any suggested work-arounds (such as storing 1E-8 instead of
zero). This component has several sets of X/Y/Z coords and I really
don't want have to maintain another a dozen tiny procedures each of
which changes zero to 1E-8 ...
Thanks
Giovanni
=====================================================================
Giovanni Moretti | Institute of Information Sciences and
Technology
Senior Lecturer | Massey University, Palmerston North, New
Zealand
Computer Science | Ph 64-6-3505799x2474 =Fax 64-6-3502259 ==
ZL2BOI
=====================================================================
http://www-ist.massey.ac.nz/moretti
mailto:G.Moretti at massey.ac.nz
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://ns3.123.co.nz/pipermail/delphi/attachments/20051202/f6a432f1/attachment.html
More information about the Delphi
mailing list