Also, ich bekomme das schon hin, dass ich das korrigiere und ich die verkettete Liste übergeben kann (auch nicht wirklich durchdacht, sondern so geschrieben, dass das Programm mal startet), aber immer, wenn ich die Liste in die neue Klasse übergebe (mit allen Einträgen aus der übergebenen Klasse richtig übergeben) und dann in der neuen Klasse die Liste fortführe, überschreibt er mir die dort erweiterte Liste dann in der alten Klasse wieder.
Hier, wie ich das versucht habe, bestimmt alles ganz, ganz falsch.
1.) 1 Eintrag in Liste hinzufügen in der Klasse, in der die Liste gebildet wird
Teil vom Header KonfiguratorMainWindowImpl
Code: Alles auswählen
AddIdentifierFormImpl entry;
QPtrList<CanData> canDataList;
In der Methode
Code: Alles auswählen
void KonfiguratorMainWindowImpl::slot_newEntry()
{
v_id++;
canDataList.append(new CanData(v_id, 0)); // nur mal was reinschreiben
entry.givePtrList(canDataList); // Liste übergeben
}
2.) übergeben der Liste in neue Klasse, um dort Einträge einzugeben
3.) 1 neuen Eintrag, also Anzahl der Einträge = 2
Teil vom Header AddIdentifierFormImpl
Code: Alles auswählen
void givePtrList(QPtrList<CanData>&); / habs mit Zeigern, Referenzen, Kopieren versucht
QPtrList<CanData> canDataList; // auch hier mal als Zeiger oder Referenz probiert
CanData *candata;
In der Methode
Code: Alles auswählen
void AddIdentifierFormImpl::givePtrList(QPtrList<CanData> &liste) // hier jetzt ne Referenz der Liste übergeben, wahrscheinlich Schwachsinn!?
{
canDataList = liste;
canDataList->append(new CanData(v_identifier, 0)); // hier geht Liste auf EintragAnzhal = 2, wenn aber jetzt wieder slot_newEntry aufgerufen wird, fällt dieser Eintrag weg
}
Könnt Ihr / Du was dazu sagen, bzw. wie man es richtig macht? Übrigens: Das mit ListViews ging so, s. Thread hier im Forum. Wurde selbst so von anderen vorgeschlagen!!!