23. November 200717 j Reichst du möglicherweise in deinem Programm Zeiger herum, die aus nicht mehr existierenden CStrings geholt wurden? So etwas z.B.: LPCTSTR foo() { CString s; return s; // oder return s.GetString(); }[/code] Oder so etwas: [code]LPCTSTR x = CString( bar ).GetString(); Du musst darauf achten, dass du keine Zeiger über die Lebenszeit der zugehörigen CStrings hinaus verwendest. Und sehe ich das richtig, dass die Methoden der Klasse CLSDatabase mit Zeigern auf CStrings arbeiten? Ist das eine Eigenentwicklung? Allgemein scheinst du ziemlich leichtfertig mit Zeigern umzugehen. Da kann natürlich viel schief gehen, und es ist auch oft so, dass sich Fehler nicht immer oder nur in besonderen Situation bemerkbar machen. Dass dein Code also bis auf diese eine Format-Anweisung funktionert, bedeutet nicht, dass der übrige Code fehlerfrei ist. Meine Vermutung ist nach wie vor, dass du dir irgendwo in deinem Programm die Speicherverwaltung zerlegst.
27. November 200717 j Autor Du hattest recht, ich bin noch mal alles durchgegangen. Nachdem ich die Rückgaben der Unterfunktionen angepasst habe, geht alles. Vielen Dank. Patrick
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.