﻿<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>StrataFrame Forum » .NET Forums » General .NET Discussion  » How to use Global Properties for preference settings in .NET</title><generator>InstantForum 2017-1 Final</generator><description>StrataFrame Forum</description><link>http://forum.strataframe.net/</link><webMaster>StrataFrame Forum</webMaster><lastBuildDate>Tue, 09 Jun 2026 01:39:15 GMT</lastBuildDate><ttl>20</ttl><item><title>How to use Global Properties for preference settings in .NET</title><link>http://forum.strataframe.net/FindPost22088.aspx</link><description>Hi,&lt;P&gt;In all projects I have tables like CompanySetup or WorkstationSetup where I save user/application settings, in my VFP applications I made heavy use of the _SCREEN.oSetup or _SCREEN.oWorkstation custom properties to hold the values for those tables using the VFP command SCATTER NAME _SCREEN.oSetup.&lt;/P&gt;&lt;P&gt;In .NET/SF what would be the recomended way to create/have the same functionality of that data and make all those properties available anywhere in the application, like reports, forms, etc.?&lt;/P&gt;&lt;P&gt;Thanks!</description><pubDate>Fri, 27 Feb 2009 13:46:22 GMT</pubDate><dc:creator>Edhy Rijo</dc:creator></item><item><title>RE: How to use Global Properties for preference settings in .NET</title><link>http://forum.strataframe.net/FindPost22127.aspx</link><description>Very cool! That's what I was talking about! Actually Charles Hankey got me thinking this way a while back, so thanks to him for the initial idea too. :D</description><pubDate>Fri, 27 Feb 2009 13:46:22 GMT</pubDate><dc:creator>Greg McGuffey</dc:creator></item><item><title>RE: How to use Global Properties for preference settings in .NET</title><link>http://forum.strataframe.net/FindPost22111.aspx</link><description>[quote][b]Greg McGuffey (02/26/2009)[/b][hr]Does that makes sense?[/quote] &lt;P&gt;Yes, thanks.&amp;nbsp; I did make sense and I got it done in no time, here is the resulting code:&lt;/P&gt;&lt;P&gt;[codesnippet][code]&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&lt;/P&gt;&lt;P&gt;Imports&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt; CardTrackingSystem.Business&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&lt;P&gt;Public&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;MustInherit&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Class&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt; AppSettings&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Private&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Sub&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;New&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;()&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Sub&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT color=#0000ff&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;'-- Set the Company Setting Object&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Private&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Shared&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; _company &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;As&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; bizCompany&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Public&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Shared&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Property&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; Company() &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;As&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; bizCompany&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Get&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Return&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; _company&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Get&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;ByVal&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; value &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;As&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; bizCompany)&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; loBO &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;As&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;New&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; bizCompany&lt;/P&gt;&lt;P&gt;&lt;FONT color=#0000ff&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;loBO.FillAllRecords()&lt;/P&gt;&lt;P&gt;&lt;FONT color=#0000ff&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;_company = loBO&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Set&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Property&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT color=#0000ff&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;'-- Set the Workstation Setting Object&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Private&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Shared&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; _workstation &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;As&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; bizWorkstation&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Public&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Shared&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Property&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; Workstation() &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;As&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; bizWorkstation&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Get&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Return&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; _workstation&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Get&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;ByVal&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; value &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;As&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; bizWorkstation)&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; loBO &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;As&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;New&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; bizWorkstation&lt;/P&gt;&lt;P&gt;&lt;FONT color=#0000ff&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;loBO.FillAllRecords()&lt;/P&gt;&lt;P&gt;&lt;FONT color=#0000ff&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;_workstation = loBO&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Set&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Property&lt;/P&gt;&lt;P&gt;End&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Class&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;/FONT&gt;[/code][/codesnippet] &lt;P&gt;Now I can reference the properties anywhere like this: &lt;P&gt;[codesnippet][code]&lt;FONT size=2&gt; &lt;P&gt;AppSettings.Company.CompanyName = &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;String&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;.Empty&lt;/P&gt;&lt;P&gt;AppSettings.Workstation.WorkstationName = &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;String&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;.Empty&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;[/code][/codesnippet] &lt;P&gt;Of course I have not tried this on reports yet, but there should be no problem :hehe:</description><pubDate>Thu, 26 Feb 2009 20:11:15 GMT</pubDate><dc:creator>Edhy Rijo</dc:creator></item><item><title>RE: How to use Global Properties for preference settings in .NET</title><link>http://forum.strataframe.net/FindPost22110.aspx</link><description>[quote]..., but in the shared class how would I loop trough the BO properties to create properties with the same name as the BO and assign their values to the newly created shared properties?[/quote]&lt;br&gt;
&lt;br&gt;
No need to do this at all.  The shared properties of the global class ARE BOs (instances of them).&lt;br&gt;
&lt;br&gt;
From my example:&lt;br&gt;
&lt;br&gt;
[codesnippet]Settings.App.Theme[/codesnippet]&lt;br&gt;
&lt;br&gt;
[b]Settings[/b] is the global class used to access all settings.&lt;br&gt;
&lt;br&gt;
[b]App[/b] is a shared property of type AppBO (which was built by the BOMapper and stores app specific settings).&lt;br&gt;
&lt;br&gt;
[b]Theme[/b] is a strongly typed property that access the underlying data, via AppBO (it's a data property of the BO...built by BOMapper).&lt;br&gt;
&lt;br&gt;
To add a new setting, you update your db (however that works for you), open the BOMapper, configure the new field and rebuild the partial...boom, a new property is available. :D&lt;br&gt;
&lt;br&gt;
Does that makes sense?</description><pubDate>Thu, 26 Feb 2009 19:32:36 GMT</pubDate><dc:creator>Greg McGuffey</dc:creator></item><item><title>RE: How to use Global Properties for preference settings in .NET</title><link>http://forum.strataframe.net/FindPost22101.aspx</link><description>[quote][b]Peter Jones (02/26/2009)[/b][hr]Hi Edhy, &lt;P&gt;Yes, we&amp;nbsp;went down the&amp;nbsp;standard set of BO's road.&amp;nbsp;We load them at&amp;nbsp;init time&amp;nbsp;in all programs into a class called clsRunTimeEnvironment and the running program just calls in and picks up whatever it wants out of that class.&lt;/P&gt;&lt;P&gt;Cheers, Peter[/quote] &lt;P&gt;Hi Peter, &lt;P&gt;Thanks for the info, but are you manually creating all shared properties in your clsRunTimeEnvironment? or is there a way to loop the BO properties to create and assign the values into clsRunTimeEnvironment properties?</description><pubDate>Thu, 26 Feb 2009 16:22:20 GMT</pubDate><dc:creator>Edhy Rijo</dc:creator></item><item><title>RE: How to use Global Properties for preference settings in .NET</title><link>http://forum.strataframe.net/FindPost22100.aspx</link><description>Hi Edhy,&lt;/P&gt;&lt;P&gt;Yes, we&amp;nbsp;went down the&amp;nbsp;standard set of BO's road.&amp;nbsp;We load them at&amp;nbsp;init time&amp;nbsp;in all programs into a class called clsRunTimeEnvironment and the running program just calls in and picks up whatever it wants out of that class.&lt;/P&gt;&lt;P&gt;Cheers, Peter</description><pubDate>Thu, 26 Feb 2009 16:13:52 GMT</pubDate><dc:creator>Peter Jones</dc:creator></item><item><title>RE: How to use Global Properties for preference settings in .NET</title><link>http://forum.strataframe.net/FindPost22096.aspx</link><description>Thanks Greg,&lt;/P&gt;&lt;P&gt;I like the idea, specially since having the BO with strong typed properties it is easier to maintain, but in the shared class how would I loop trough the BO properties to create properties with the same name as the BO and assign their values to the newly created shared properties?&lt;/P&gt;&lt;P&gt;I guess so sort of reflection here should be use? :cool:</description><pubDate>Thu, 26 Feb 2009 13:39:07 GMT</pubDate><dc:creator>Edhy Rijo</dc:creator></item><item><title>RE: How to use Global Properties for preference settings in .NET</title><link>http://forum.strataframe.net/FindPost22095.aspx</link><description>I've been thinking about this and I'm thinking that the way to go is to have BOs for the various settings (like general app, company settings, user settings, whatever). You could load the BO from an xml file using XMLBasics or from a db table.&lt;br&gt;
&lt;br&gt;
Then have a shared class called Settings (or something like that) that had shared properties for each of the BOs that actually manage the settings.  The BO manages actually loading/saving settings, but access is very easy via the shared class:&lt;br&gt;
&lt;br&gt;
[codesnippet]'-- Get some setting...Say how much verbage they want in messages! &lt;br&gt;
Settings.User.Verbosity&lt;br&gt;
'-- Or some app setting...Say the theme to use&lt;br&gt;
Settings.App.Theme[/codesnippet]&lt;br&gt;
&lt;br&gt;
The actual settings are thus strong typed. Using the BO mapper allows easy changes to the settings.  You would then provide a shared method to load the settings, which could use FillMultipleDataTables, called from InitApp (I think that is what it is called) of AppMain.vb or Program.cs.&lt;br&gt;
&lt;br&gt;
I haven't had a chance to try this for real, but sure looks appealing.</description><pubDate>Thu, 26 Feb 2009 13:09:54 GMT</pubDate><dc:creator>Greg McGuffey</dc:creator></item><item><title>RE: How to use Global Properties for preference settings in .NET</title><link>http://forum.strataframe.net/FindPost22094.aspx</link><description>Thanks, I know remember seeing something like that in StrataFlix, will investigate more.</description><pubDate>Thu, 26 Feb 2009 12:24:33 GMT</pubDate><dc:creator>Edhy Rijo</dc:creator></item><item><title>RE: How to use Global Properties for preference settings in .NET</title><link>http://forum.strataframe.net/FindPost22090.aspx</link><description>This is the purpose of static or shared properties and classes.&amp;nbsp; They are far better than global variables as they take no overhead unless they are referenced.&amp;nbsp; You can add a static property to any class.&amp;nbsp; Generally we have a class dedicated to items such as this.&amp;nbsp; But in the StrataFlix sample I know there is a basics class or something along those lines.&lt;/P&gt;&lt;P&gt;[codesnippet]Public Class MyClass&lt;/P&gt;&lt;P&gt;Private Shared _MyProperty As MyObject&lt;BR&gt;Public Shared Property MyProperty As MyObject&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Get&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Return _MyProperty&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End get&lt;BR&gt;End Property&lt;/P&gt;&lt;P&gt;Public Shared Property MySecondProperty As String&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Get&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim r As String = ""&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Using bo As New MyBo()&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bo.FillWithData()&lt;BR&gt;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If bo.Count &amp;gt; 0 Then r = bo.MyBOProperty&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Using&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Get&lt;BR&gt;End Property&lt;/P&gt;&lt;P&gt;End Class[/codesnippet]&lt;/P&gt;&lt;P&gt;That should give you a few ideas and examples of how to use static (or shared in VB) properties.</description><pubDate>Thu, 26 Feb 2009 12:00:13 GMT</pubDate><dc:creator>Trent L. Taylor</dc:creator></item></channel></rss>