Beim beenden der Anwendung Text in registry speichern...
-
Hi...
Ich bekomme es einfach nicht hin...
Ich hab es bisher in OnDestroy des betreffenden Fensters mit dem Memo, das den Text beinhaltet, gemacht, der Wert wird auch in die Registry eingetragen aber eben ohne Inhalt(Text...)Wie kann ich das richtig machen?
Ich würde mich über eine Antwort sehr freuen...
-
Du musst uns schon zeigen, wie du es (falsch) machst, damit wir dir sagen können, was falsch ist.
Davon abgesehen ist es ganz schlechter Stil, Nutzdaten in der Registry abzulegen. Da gehören, wenn überhaupt, nur Konfigurationsparameter und ähnliches hinein.
-
Es ist nur eine kleine Notitz mit 255 Zeichen, ich hab' keine Lust, die noch in einer Datei zu speichern...
... Reg->WriteString("Notizen", Notizen->Text); ...
...Und wenn ich das ganze im Hauptformular in OnShow laden will, um es in das Textfeld im anderen Fenster wiedereinzufügen, bekomme ich eine Zugriffsverletzung...
-
hallo,
du mußt schon genau sagen WO du das reinmachen willst, die registry ist sehr sehr groß:
TRegistry* Reg = new TRegistry(); Reg->RootKey = HKEY_CURRENT_USER; if (Reg->OpenKey("Software\\ATest", True)) Reg->WriteString("Notizen", Memo1->Text); delete Reg;
mfg
m
-
ach ja, das laden, da nimmst du natürlich nicht writestring sondern readstring:
TRegistry* Reg = new TRegistry(); Reg->RootKey = HKEY_CURRENT_USER; if (Reg->OpenKey("Software\\ATest", False)) Memo1->Text = Reg->ReadString("Notizen"); delete Reg;
mfg
m
-
Ich weiß, hab ich doch alles gemacht, wozu sind die Punkte wohl da?
Aber es funktioniert gar nichts...
Trotzdem danke...
Wieso sind da eigentlich klammern hinter dem TRegistry?[ Dieser Beitrag wurde am 17.05.2003 um 16:25 Uhr von aaaabyx editiert. ]
-
Woher sollen wir wissen, wozu die Punkte da sind, die Kristallkugeln sind alle grad zur Reparatur.
Funktioniert das Ganze denn wenn du es in einem anderen Event ausführst, zB. in einem Buttonklick?
-
Ja dann funktioniert alles einwandfrei...
-
versuchs mal mit OnCloseQuery, bei destroy gings bei mir auch nie
-
Dann lies dir mal hier den Abschnitt über OnCreate/OnDestry durch.
-
Danke, aber es ist immer noch das selbe...
Außer dass ich jetzt anstatt ner Zugriffsverletzung beim Laden eine EAccesViolation kriege...
-
Das ist mit Sicherheit nicht dasselbe Problem.
Offensichtlich versuchst du beim Laden auf die zweite Form zuzugreifen, während diese noch gar nicht existiert. Statt den Konstruktor oder ein Event von Form1 zu benutzen solltest du den Text erst beim tatsächlichen Aufruf von Form2 laden.
-
Danke Jansen für deine Hilfe endlich klappt es...
VIELEN DANK!!!
-
Hmmmm moment jetzt habe ich ein neues Problem... Ich bekomme immer wenn ich das Programm beende eine Zugriffsverletzung... Immer an der selben Adresse, 00000064. Ich weiß auch, das bis nach Destruktor des Notizen-Fensters noch alles in Ordnung ist, vor dem Destruktor des Hauptfensters ist jedoch die Fehlermeldung schon in Gang gesetzt worden... Ich finds besonders merkwürdig, das die Zugriffsverletzung immer an der selben Adresse auftritt... Von der Funktionalität her funktioniert alles, hatte das schonmal jemand?
-
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
||||||||||||||||||||||||||||||
??????????????????????????????
-
Original erstellt von aaaabyx:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
||||||||||||||||||||||||||||||
??????????????????????????????Tastaturtests bitte im Off-Topic-Forum machen. Danke.
-
Das sollte nichts anderes sein als ein
"Ich-weiß-nicht-was-da-los-ist-und-komm-nicht-weiter"
-
An welcher Exakter Stelle kommt denn diese AccessVoilation? (-> Debugger!)
-junix
-
Ich hab alles mit Haltepunkten Debuggt, wenn ich einen am Ende des Destruktors des Notizen-Fensters setze, ist alles noch OK, aber wenn ich einen am Anfang des Destruktors des Haupt-Fensters setze, bekomme ich vorher schon die AccesViolation...
Ich kanns mir nicht erklären, die anderen Fenster können damit sowieso nichts zu tun haben, weil ohne die notizen noch alles lief und ich bei den anderen Fenstern nichts geändert habe... Sehr komische Sache...
-
Original erstellt von aaaabyx:
Ich hab alles mit Haltepunkten Debuggt, wenn ich einen am Ende des Destruktors des Notizen-Fensters setze, ist alles noch OK, aber wenn ich einen am Anfang des Destruktors des Haupt-Fensters setze, bekomme ich vorher schon die AccesViolation...Hi,
drücke doch mal F7 wenn der Debugger beim Haltepunkt anschlägt! Und dann verfolge den Code solange mit F7/F8 bis die Fehlermeldung kommt!MFG
Alexander Sulfrian
-
Wenn ich dann F7 drücke, geht er bis zur letzten Klammer des Destruktors vom Notizen-Fenster und macht dann gar nix mehr...