I am using a PreferencesModule that I recently found online here:
I have played around with it, and can store my preferences, change them in the Preference Window and quit the app and when I restart it, the changes are recorded.
Below is my current code. I have played around with it and changed it so many times, I can hardly remember what the original code looked like. Luckily I saved a version of my project elsewhere on my disk that I can go back to where I knew it worked. The code I have now (in the App Load Event):
[code] // Initialize the preferences by telling it the name of your app.
// Preferences will be stored in the SpecialFolder.ApplicationData
// in a folder with the app name in a file ending in “.pref”.
// So the below example would have preferences saved in:
Rain_db = RainDatabase.SetupNewDatabase
If Rain_db <> Nil Then
RainGauge.fromDatabase = True
// Now you can load the preferences
If Not Preferences.Load Then
// Set default values for preferences so that they
// do not cause a PreferencesNotFoundException when accessed.
Preferences.meaSys = "mm"
Preferences.GaugeName = "My Rain Gauge"
nameOfTitle = Preferences.GaugeName // in this instance nameOfTitle is a property in the App class
Here is my problem, it doesn’t matter where I store the property values of the two things I am storing in the app (In the App, in the window which is using them, or in a module. It seems that if I put a breakpoint in the App load event I can see that the property is set (wherever I stored it), but if I put a breakpoint in the window (RainGauge.Show), the property is lost.
I am sure that my problem must be something to do with scope, but I have tried different permutations of where I store things for about seven or eight hours now. Perhaps someone could help me see the error of my ways?
I think this module does not work right
when I use
Preferences.Set("MainWindowLeft") = Window1.Left
Preferences.Set("MainWindowTop") = Window1.Top
whatever the window position is, it stores always
Since posting my request, I have just reached my limit with this Module. I am going through the two Webinars about the Text Editor. At least they have a Preference Window and separate Text Editing Windows. The example I followed before only had a Preferences window, and all you actual saw was the different values being stored to the pref file, and then retrieved. As I said above, I managed to see that work. It was just when I wanted to get those values into my main window (my app only has one window) that I struck problems. So this Webinar I am going to watch at least is similar to what I am trying to do.
it works when I write the code in Open and Close of the Window, in the example the code is in App.Open and App.Close
It’s another day here, so I will give it another try by putting the code in the one and only window of the app. I must say that I would like to use that PreferenceModule as it is a demonstration of OOP, which I am trying to wrap my head around.
Thanks for your trying things out and your feedback.
i can’t save preferences, the method save doesn’t work
OSX Win Linux ?
If Not Preferences.Load Then
If Not Preferences.Save Then
This is an old thread, but it didn’t end with any kind of resolution – which really frustrated me when I couldn’t get the Save part of PreferencesModule (PM) to work, either.
I finally discovered the reason for my problem – PM didn’t want me to add a Text item as the value. For example:
dim camps as Text = ""
// blah blah blah, put some text stuff into the camps variable...
Preferences.Set("Campaigns") = camps
That would blow up inside the PM.Save method.
But as soon as I changed the dim:
dim camps as String = ""
…then everything worked as it should.
Since PM is saving the values as a Variant, I wouldn’t think that change should do anything, but that’s the way I got it to work for my project.