wertzuweisung an klassenvariable nicht dauerhaft



  • hallo,

    ich habe folgendes problem:
    in meiner xxx.h ist folgende variable definiert:

    TOEM_Partition* _tab;
    

    diese wird mittels eines funktionsaufrufs aus einer .dll a la

    _tab  = new TOEM_Partition[count];
    DWORD result = FunktionXY( _tab, count);
    

    instanziiert. TOEM_Partition ist ein struct mit einigen UCHARs und ULONGs.

    Nun verändere ich in der xxx.cpp in verschiedenen Funktionen Werte in _tab a la

    _tab[i].structmember1 = 5;
    

    . Wenn ich nun aber an anderer Stelle, also in einer anderen Memberfunktion derselben Klasse

    _tab[i].structmember1
    

    abfrage, erhalte ich den wert, der noch vor der zuweisung drinstand. warum???

    ich kämpfe nun schon länger und versteh es leider einfach nicht. woran kann es liegen?

    freue mich auf antwort!

    der oli



  • 1. UNterstriche am Anfang von Variablennamen oder Funktionen sind Compilerherstellern vorbehalten und gehören nicht in "normale" Programme. Also weg damit.
    2. Lässt sich das nicht ohne weiteres erklären. Ist der Zeiger in xxx.cpp der Selbe wie bei deiner Klassenmethode?

    -junix



  • Hallo!

    Nun - in die dll kann man nun ja wohl schlecht reinschauen...

    Ich weiß zwar selber nicht so genau warum, aber ich würde zunächst mal nach einer Funktion ala TOEM_Partition::get_structmember1 bzw. TOEM_Partition::set_structmember1 suchen und ausprobieren, ob es damit funktioniert...

    tschüss
    Robert


Anmelden zum Antworten