Kann man nicht per Propperty auf Strukturen zugreifen?
-
Hi,
folgendes Problem. Ich habe eine Klasse, in der ich über ein Property auf die Daten zugreifen möchte. Beim beenden des Programms gibt es eine Eception.
Die Daten liegen in einer Struktur. Eine Property soll auf dieses Strukturelement zugreifen. Zu Debugzwecken ist die Struktur hier public. Soll später private sein. Wenn ich nun im Code die Zeile (1) ausführe, kann man sehen, das der Wert der Struktur sich nicht verändert. Also das Property und die Struktur haben unterschiedliche Werte!! Nehme ich intern eine einfache Variable, dann geht es. Wo liegt das Problem? Hoffe ich konnte es einigermaßen verständlich beschreiben....// ... enums typedef enum{ GS3_20pol= 1, GS3_18pol= 2 } TYPEOFGS3; // ... Strukturen typedef struct{ TYPEOFGS3 eTypeOfGS3; } GS3TESTDATA; class WGS3Data { .... public: __property TYPEOFGS3 TypeOfGS3 = { read = _GS3TestData.eTypeOfGS3 , write = _GS3TestData.eTypeOfGS3 }; GS3TESTDATA _GS3TestData; };Code:
// Zeile (1) Zugriff über Property pGS3Data->TypeOfGS3= GS3_20pol; // Zeile (2) Zugriff direkt auf Struktur pGS3Data->_GS3TestData.eTypeOfGS3= GS3_20pol;
-
Hallo
Wenn ich nun im Code die Zeile (1) ausführe, kann man sehen, das der Wert der Struktur sich nicht verändert. Also das Property und die Struktur haben unterschiedliche Werte!!
Kann ich nicht nachvollziehen. Ich habe genau deinen Code kopiert und ausprobiert, Eigenschaft und Struct ändern sich im Debugger (BCB5) wie erwartet.
Du solltest vielleicht noch eine explizite Setter-Methode einbauen, aber ändern sollte sich dadurch nichts.bis bald
akari
-
Danke für die Hilfe. Das Problem hatte ein Kollege. Ich habe es jetzt mal auf meinem PC nachvollzogen und bei mir läuft es auch. Echt mysteriös.....also grundsätzlich geht es. Dann werden wir mal seinen PC untersuchen..... Danke nochmal