[gelöst] wo gehen die Daten verloren
-
EDIT: hat sich erledigt, hatte an der falschen Stelle eine Funktion Reset() ausgeführt die alle Daten gelöscht hat...
Ich übergebe an eine Simulation eine vector-Liste (als Pointer) die innerhalb der Klasse mit Daten gefüllt wird. Verlasse ich die Simulation wieder, ist die übergeben Liste aber wieder leer. Wo werden also die Daten gelöscht?
Übergabe der Liste. Nach Ausführen von createCoupler() ist sie allerdings wieder leer. (Die Liste die befüllt wird ist CurrentCouplerSetup->List[i]->VariationList)
void DialogGratingPeriodVariation::createCoupler() { Calculation.setCouplerElementList(& CurrentCouplerSetup->List); Calculation.addCouplerElement(); Calculation.createCoupler(); }// CouplerList = CurrentCouplerSetup->List void CouplerCalculation::setCouplerElementList(vector<CouplerListDef> * value) { CouplerList = value; } void CouplerCalculation::addCouplerElement() { CouplerList->resize(CouplerList->size() + 1); CouplerListEntryIndex = CouplerList->size() - 1; CouplerListEntry = & (*CouplerList)[CouplerListEntryIndex]; }Innerhalb von createCoupler() wird die Liste mit folgenden Funktionen befüllt
void CouplerCalculation::addNewVariation(GratingVariationListEntryDef newEntry) { CalcVariationList.push_back(newEntry); VariationListCount++; } void CouplerCalculation::addToVariationList() { CouplerListEntry->VariationList.insert(CouplerListEntry->VariationList.end(), CalcVariationList.begin(), CalcVariationList.end()); }