!! ApplicationSettings Version 1.0 !!
-
Hm, wo find ich die Mailadi genau, ich finde überall nur:
"Der Zugriff auf diese eMail-Adresse ist durch die Administration oder den Benutzer gesperrt worden."
-
Mail unterwegs
danke
[ Dieser Beitrag wurde am 28.02.2003 um 14:31 Uhr von Unix-Tom editiert. ]
-
Hi,
kann vielleicht jemand ein kurzes, funktionierendes Beispiel dazu posten? Ich bekomme das irgendwie nicht hin.
Zum Beispiel verursacht folgendes Programm einen Absturz. Die DLL habe ich vorher mit regsvr32 registriert.
#import "C:\ApplicationSettings.dll" no_namespace raw_interfaces_only #define UNICODE #define _UNICODE #include <windows.h> #include <tchar.h> int main() { CoInitialize(NULL); // Objekt erstellen IPerApplicationSettingsPtr spAppSettings; spAppSettings.CreateInstance( __uuidof(PerApplicationSettings)); // Format setzen (geschieht nur 1x beim Starten des Programms) spAppSettings->SetDestinationFormat(DF_XML); // Ziel setzen (für Registry ein Schlüsselstring) (nur beim Starten notwendig) _bstr_t file( _T("C:\\myInit.xml")); spAppSettings->put_Destination(file); // Testeintrag erstellen _bstr_t bstr1( _T("testSection")), bstr2( _T("testValueName1")); _variant_t varValue((UINT)5); // so schreibt man eine Einstellung spAppSettings->put_Value(bstr1, bstr2, varValue); // Datei speichern (flushen) spAppSettings->Save(); CoUninitialize(); return 0; }
-
@Trolli
Update wurde schon rausgeschickt. Sicherlich ist die DLL noch nicht ohne Fehler, da ich für das Ganze erst knapp 3h Arbeit reingesteckt habe.
-
@Trolli
P.S.: Es wäre net, dass, wenn Du einen Absturz entdeckst, Du wenigstens die Codezeile angibst, an welcher es passiert !
-
Mir bitte auch mailen...
Windows 2000 / commander at c-plusplus . de (wegen spamrobots)
danke
-
Hi!
Sorry, das ich den Fehler nicht gepostet hatte.
Ich hatte vergessen Release() vor CoUninitialize() aufrufen. Jetzt funktioniert es einwandfrei.
Ein kleiner Verbesserungsvorschlag: Einheitliche Methodennamen. Manchmal hast du das Verb groß, manchmal klein, mal mit Unterstrich, mal ohne.
Danke!
-
@Trolli
Du meinst wahrscheinlich SetDestinationFormat! Ok, werde ich ändern. Hatte es initial als Funktion geschrieben sowie alle anderen Befehle auch. Danach habe ich es dann auf get/put-Properties geändert, aber das nicht für SetDestinationFormat->put_DestinationFormat übernommen.
-
Registry-Problem:
Da in die Registry nur DWORD oder StringZero geschrieben werden können, muss ich auf ein einheitliches Format ausweichen, was die Datentypen double/DATE u.s.w. betrift.Ich denke, dass es günstig wäre, für alle Datentypen Reg_Binary zu nehmen, da dann in den ersten 2 Bytes der Typ stehen kann und der Speicherverbrauch in der Registry am geringsten ist.
Nachteil ist, dass es vom Registry-Editor nicht mehr editiert werden kann!Andere Vorschläge bitte jetzt posten!
Thx
-
Update-Vorschlage "Verbindungspunkte":
Jedes Objekt, welches Daten liest oder schreibt, kann sich über Verbindungspunkte (Connection Points) mit dem Settings-Objekt verbinden und somit über Änderungen benachrichtigt werden, die ausserhalb an einer bestimmten Eigenschaft vorgenommen wurden. Gut einsetzbar bei komplexen Einstellungsdialogen, in denen die kompletten Anwendungseinstellungen vorgenommen werden können.
-