Jump to content
Ian Branch

Saving Explicit Properties??

Recommended Posts

Hi Team,

D12.2.

Aside from DDevExtensions, is there any mechanism id Delphi not to not save Explicit Properties?

Are there any other plug-ins that have this functionality?

 

Regards & TIA,

Ian

Share this post


Link to post

Once enabled, be sure and click Configure... You can individually turn each one (left, top, width, height) on/off.

Share this post


Link to post

Tks.  I am not using it.

I am actually trying to find somewhere the Saving Explicit Properties may be turned off as I am having trouble with a component not retaining a default property setting.

Edited by Ian Branch

Share this post


Link to post
4 hours ago, Ian Branch said:

I am actually trying to find somewhere the Saving Explicit Properties may be turned off

Sorry, but there is no native option for that. Only 3rd party solutions like GExpert.

4 hours ago, Ian Branch said:

I am having trouble with a component not retaining a default property setting.

Can you be more specific?

Share this post


Link to post
1 minute ago, Remy Lebeau said:

Can you be more specific?

Hi Remy,

Not at this time.  I want to give the developer more time to ensure it isn't a deficiency in his component.

I was just wanting to be sure it wasn't some setting, mine or a 3rd Party plug in, that was causing the issue.

FWIW, even if I add the property into the dfm file, and return to the form, returning to the dfm source shows the property gone.

It is only one property of the component that has options.  If I select any of the other options the property is in the dfm.  If I seect the default property, it disappears.

 

Ian

Share this post


Link to post
50 minutes ago, Ian Branch said:

FWIW, even if I add the property into the dfm file, and return to the form, returning to the dfm source shows the property gone.

It is only one property of the component that has options.  If I select any of the other options the property is in the dfm.  If I select the default property, it disappears.

Sounds like the property isn't declared/coded properly. But without a specific example that demonstrates the problem, it is very hard for anyone here to diagnose it.

Share this post


Link to post
Posted (edited)
10 minutes ago, Remy Lebeau said:

Sounds like the property isn't declared/coded properly.

Yes, that was my conclusion also.  That is why I am giving the Developer a chance.  🙂

Having said that, it does work for the other 4 available options, just not the default/specific one.

Edited by Ian Branch

Share this post


Link to post
53 minutes ago, Ian Branch said:

If I select the default property, it disappears.

I think what you might be seeing is standard behavior of the IDE saving property values. If the property has a default value, and that's the current setting of that property, it won't save to the DFM, it'll only save if it's different than the default or if there is no default.

 

For example, a blank VCL application's Form might look initially like this:

object Form1: TForm1
  Left = 0
  Top = 0
  Caption = 'Form1'
  ClientHeight = 324
  ClientWidth = 401
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -12
  Font.Name = 'Segoe UI'
  Font.Style = []
  TextHeight = 15
end

If you check AlphaBlend, AutoScroll, and AutoSize in the Object Inspector, the DFM will look like this:

object Form1: TForm1
  Left = 0
  Top = 0
  Width = 417
  Height = 363
  AlphaBlend = True
  AutoScroll = True
  AutoSize = True
  Caption = 'Form1'
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -12
  Font.Name = 'Segoe UI'
  Font.Style = []
  TextHeight = 15
end

This has the three additional properties because they're no longer the default value.  If you uncheck them in the Object Inspector and save the form, it reverts back to the first one.

 

Is this perhaps what you're seeing?

  • Like 2

Share this post


Link to post

Hi David,

It may well be.  That would again point to improper handling of the default value in the component.

I will await a response from the Developer.

Share this post


Link to post
Posted (edited)

See the documentation: Properties (Delphi): Storage Specifiers

Quote

The optional stored, default, and nodefault directives are called storage specifiers. They have no effect on program behavior, but control whether or not to save the values of published properties in form files.

 

Edited by Remy Lebeau
  • Thanks 1

Share this post


Link to post

Tks Remy.  I suspect the answer is there.  I have forwarded the reference to the Developer.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×