Firebird
10-11-2003, 14:35
Ich hab so'n... naja kein richtiges Problem, aber ich bin mir nicht so ganz sicher ob es für dass was ich machen will eine einfache Möglichkeit gibt.
Also ich hab eine Klasse die alle Einstellungen des Programms ausliest, in Objekten speichert und beim beenden wieder speichert. Die Einstellungen werden dabei Teilweise in QPtrList's gespeichert.
Der Einstellungs-Dialog meines Programms holt sich die Einstellungen aus dieser Klasse, und zwar in Form von Zeigern auf die QPtrList's.
Das Problem ist jetzt dass der Einstellungsdialog die Objekte natürlich nicht richtig bearbeiten soll, sondern nur Temporär, weil die Einstellungen ja nur gespeichert werden sollen, wenn der User danach auf OK (und nicht auf Abbrechen) drückt.
Eine Möglichkeit wäre jetzt, die QPtrList komplett zu kopieren. Aber wie? Eine Kopie der QPtrList reicht ja nicht, sondern auch die Objekte müssen kopiert werden. Und das nächste Problem ist, wie kopiere ich Zeiger-Objekte? Wenn ich einem Zeiger einen anderen zuweise, wird nur der Zeiger kopiert, und nicht das Objekt, ich will aber dass das komplette Objekt kopiert wird.
Wenn ich folgendes mache:
Klasse zeiger1;
Klasse* zeiger2;
zeiger1 = .....;
zeiger2 = &(*zeiger1);
Zeigt zeiger2 dann auf das gleiche Objekt wie zeiger1, oder ein anderes?
Also ich hab eine Klasse die alle Einstellungen des Programms ausliest, in Objekten speichert und beim beenden wieder speichert. Die Einstellungen werden dabei Teilweise in QPtrList's gespeichert.
Der Einstellungs-Dialog meines Programms holt sich die Einstellungen aus dieser Klasse, und zwar in Form von Zeigern auf die QPtrList's.
Das Problem ist jetzt dass der Einstellungsdialog die Objekte natürlich nicht richtig bearbeiten soll, sondern nur Temporär, weil die Einstellungen ja nur gespeichert werden sollen, wenn der User danach auf OK (und nicht auf Abbrechen) drückt.
Eine Möglichkeit wäre jetzt, die QPtrList komplett zu kopieren. Aber wie? Eine Kopie der QPtrList reicht ja nicht, sondern auch die Objekte müssen kopiert werden. Und das nächste Problem ist, wie kopiere ich Zeiger-Objekte? Wenn ich einem Zeiger einen anderen zuweise, wird nur der Zeiger kopiert, und nicht das Objekt, ich will aber dass das komplette Objekt kopiert wird.
Wenn ich folgendes mache:
Klasse zeiger1;
Klasse* zeiger2;
zeiger1 = .....;
zeiger2 = &(*zeiger1);
Zeigt zeiger2 dann auf das gleiche Objekt wie zeiger1, oder ein anderes?