Daten zurückgeben wenn Fenster geschlossen wird
-
Hallo zusammen,
ich habe ein Problem beim Daten übergeben von einem Objekt in die "Elternklasse".
Ich programmier ein USB Übertragungssystem und möchte in einer eigenen Klasse die Datenmuster generieren und die Pfade für die Dateien festlegen, in der die Datenmuster gespeichert sind. Beim Schließen des Fensters möchte ich die Pfadnamen als einfache CStrings übergeben.
Ich habs versucht durch Aufruf einer statischen Methode, jedoch hab ich dann Probleme die übergebenen Variablen in einer globalen Variablen abzuspeichern um sie dann weiterzuverwenden.
(Fehler: Ungültige Referenz auf ein Datenelement ...)
Hat jemand ne Idee wie ich diese 2 Variablen ohne großen Aufwand übergeben kann?
Danke Chris
-
Wie wird denn der Unterdialog angelegt und angestoßen? Normalerweise sollte das Hauptprogramm die Daten verwalten und vor der Zerstörung von dem Optionsdialog abholen:
void OnOptions() { CSubDialog dlg; if(dlg.DoModal()!=IDOK) return; //sichere die Inhalte des Dialogs }
-
Ich öffne das Fenster dur Betätigen des Buttons On EinstellungenRamdaten
und erstelle dann einfach das Objekt r1
Sorry bin nicht der beste wenns darum geht die Programmierung zu beschreiben

void CControllStationDlg::OnEinstellungenRamdaten()
{
RAMDATA *r1 = new RAMDATA();
r1->DoModal();
delete r1;}
-
Sieht doch fast genauso aus wie üblich (nur ist es etwas Overkill, den Dialog auf dem Heap zu erzeugen, wenn der Stack dafür völlig ausreicht). Dort mußt du zwischen dem DoModal()-Aufruf und dem delete die relevanten Daten ins Hauptprogramm umkopieren.
-
Hab ich dich richtig verstanden,
also in der Klasse, von der ich die Variablen übergenen will, mach ich ne getMethode welche ich vor dem delete aufruf, und diese getMethode wird dann beim schließen des Fensters aufgerufen??
-
Cool danke das funktioniert!!!!!!!!!!!
Tausend Dank, so einfach aber ich wär nicht drauf gekommen:)
Gruß Chris