Fehler bei CString (afx.inl - Line 122)

Beginnerin

Mitglied
Hallo,

ich hab eine Fehlermeldung, die ich überhaupt nicht verstehe... :(
Könnt ihr mir helfen

Ok, ich verwende VC++ 6.0 und habe einen Dialog erzeugt,
der eine ini Datei einlesen soll.
Die eingelesenen Werte sollen in CString- Variablen gespeichert werden.
Sieht folgendermaßen bei mir aus:

BOOL CDlg::OnInitDialog()
{
....
char field[500];
DWORD destSize;
destSize=500;


FileIni = "C:\\Test.ini";
GetPrivateProfileString("Ueberschrift","Test1","",field,destSize,FileIni);
Test1 = field;

GetPrivateProfileString("Ueberschrift","Test2","",field,destSize,FileIni);
Test2 = field;

GetPrivateProfileString("Ueberschrift","Test3","",field,destSize,FileIni);
Test3 = field;
....
}

Test1, Test2 und Test3 sind Membervariablen der Klasse und als CString deklariert.
Bei Test 1 funktioniert das Befüllen wunderbar. Bei Test 3 auch.
Nur bei Test 2 bekomm ich einen Fehler :(
Kommentiere ich "Test2 = field;" aus ist der Fehler weg.
Sonst kommt die Fehlermeldung: "Debug Assertion Failed"/File afx.inl/Line 122

Hilfee!! Könnt ihr mir sagen, woran das liegt Wieso es in der einen Zeile, in der anderen nicht

Vielen vielen Dank bereits für die Hilfe!! :-)
 
Hi,
was steht denn in der ini Datei?
Den Zwischenschritt über den Char-Wert kannst du dir übrigens auch folgendermaßen sparen:
Code:
long lngResult;
lngResult = GetPrivateProfileString ("Ueberschrift", "Test1","", Test1.GetBuffer(255) , 255, FileIni);
Cstbuffer.ReleaseBuffer (lngResult);

Gruß
 
Hi,

meine ini sieht ungefähr so aus:
************************
[Ueberschrift]

Test1=C:\test1.txt
Test2=C:\test2.txt
Test3=C:\test3\
************************
Die tatsächlichen Werte sind natürlich sinnvoller ;)
Aber eben auch Pfadangaben von Dateien und Ordnern.

Vielen Dank bereits. Das mit dem Zwischenschritt sparen werd ich mal ausprobieren.
 
DER FEHLER IST WEG :)

Irgendwie hat der Compiler ein Problem mit meiner CString Variable gehabt.
Hab ich in der Header- Datei nämlich Test2 vor Test1 deklariert, kam der Fehler plötzlich bei Test1. Irgendwie scheint ihm die Zeile nicht gepasst zu haben.

Durch Erstellen / Alle neu erstellen wurde der Fehler dann behoben.
Das nächste Mal werd ich das gleich versuchen. :(

Trotzdem Danke!! :)
 
Zurück