CString macht komisches Zeugs!
-
ich untersuchs mal.
-
Kannst du das vielleicht in einem kleinen Projekt mal austesten (zum Download), ob der Fehler dann auch auftritt und wir mal daran rumbasteln können. Wahrscheinlich fällt dir der Fehler auf, wenn du es nochmal in einem Basisprogramm ohne irgendwelchen Schickschack ausprobierst. Oder Visual C++ macht bei größeren Programmen einen Compilierfehler.
-
Hallo, also nach der Beschreibung bekomme ich dein Problem nicht reproduziert. würde also Vorschlag von <hoo> empfehlen und das Ganze in einem neuen Project testen, vielleicht übersiehst du da was.
Gruß mathi
-
also ich kann es zu meinen bedauern auch nicht reproduzieren
-
Initialisier den CString mal im Konstruktor mit "".
-
Ich denke mal das wird im Konstruktor von CString selber gemacht.
-
Original erstellt von <Dichter & Denker>:
Ich denke mal das wird im Konstruktor von CString selber gemacht.Dieser Vorschlag ist durchaus ernst gemeint. So ein ähnliches Problem hatte ich nämlich auch schon mal mit dem CString.
-
Probier das ganze auch mal testweise mit std::string. Müsste ja bei so einfachen Sachen fast kompatibel in der Bedienung sein.
-
So habs gelöst. Wollte es für euch reproduzieren. Am Ende hatte ich sowas:
class CClass { public: bool b; CString str; }
Das obige stürzte ab.
class CClass { public: CString str; }
das net.
Das kam mir doch sehr spanisch vor und weils in nem anderen prog so funktioniert und es ja auch keinen grund für nen absturz gibt, hab ich mal den include dieser headerdatei als allererste gesetzt. Und es hat funktioniert. Also lag der Fehler irgendwo in den anderen inkludierten Dateien. Es war dann ein vergessenes #pragma pack(8) nach einem #pragma pack(2)
-
uh, ganz böser fehler
-
Hm, deshalb sollte man auch immer
#pragma pack( push, 2)
#pragm pack( pop) verwenden
-
Naja, dann hätte ich halt das pop vergessen
Aber danke für den Tip.
-
So, jetzt müsst ihr mir nur noch erklären für was
#pragma pack(..) ist....Devil