Hi Marcus,
>1. All settings go into the same INI file !
>--> User 1 turns ShowTipos on, User 2 turns it off again ??
>--> Even worth: All form settings (position) do not on the user ??
>I can't believe this, did I oversee anything ?
That's the way it works. As Dan already pointed out ... it would be better anyway to store the settings per user in a database table, so the user has the same settings available on every machine they log in.
But take care of the memory settings and the DBC paths in the INI file. They, of course, are machine specific. So there is still a need to have a machine specific INI file (or you're switching back to the registry). Some enhancements in the framework would be nice here. I think I have seen something like this in the Codemine sample app ;-)
>2. The about widow does not show any information (registered User...) any more.
>It seems like switching to INI file causes the framework to through all registry possibilities away ?? That can't be true. Even when I want to use an INI file my computer still has a registry ?!?!?! And I need information from it, even if I don't want to store my settings there
I had a look at the Init() of cAboutForm. Here's what I found out:
DO CASE
CASE UPPER(OS()) = "WINDOWS NT" OR UPPER(OS()) = "WINDOWS 4" OR UPPER(OS()) = "WINDOWS 5"
loSystemSetting = CREATEOBJECT("CRegistry")
this.cMSInfo = ;
loSystemSetting.Get(KEY_SHARED_TOOLS_LOCATION, "Path", "", HKEY_LOCAL_MACHINE)
So it should still work ... cRegistry is instantiated here (BTW: Why not via the abstract factory?). Could it be, that the OS() function doesn't return a string that matches the CASE condition in W2K (I think it was W2K you're working with!?)
HTH,
Armin