Mam następujący problem:
1 ) Deklaruje sobie mapę :
- Kod: Zaznacz cały
private:
std::map<int,String> MapaJezykow;
2 ) Oraz funkcję z użyciem mapy
- Kod: Zaznacz cały
String TFrmMain::OdczytajWartoscZmiennejJezykowej(int KodJezyka,int KodZmiennej)
{
std::auto_ptr<TIniFile> Ini(new TIniFile(MapaJezykow[KodJezyka]));
return Ini->ReadString("Main",String(KodZmiennej),"");
}
Kod się kompiluje, jednak kiedy wywołam tą funkcję ( błędu nie ma ) jednak przy zamknięciu programu mam Access.... i dokładnie :
- Kod: Zaznacz cały
Pointer arithmetic in invalid memory in process: LpgTech.exe(1540) - c:\program files\embarcadero\rad studio\7.0\include\dinkumware\xtree#160
0x00000000+4.
0x00407A43 - c:\program files\embarcadero\rad studio\7.0\include\dinkumware\xtree#160
0x004066AB - c:\program files\embarcadero\rad studio\7.0\include\dinkumware\xtree#1231
0x00406B3C - c:\program files\embarcadero\rad studio\7.0\include\dinkumware\xtree#1170
0x004058E1 - c:\program files\embarcadero\rad studio\7.0\include\dinkumware\xtree#914
0x004029CB - c:\program files\embarcadero\rad studio\7.0\include\../include/dinkumware/map#164
0x004027E8 - FMain.cpp#23
Ma ktoś jakis pomysł o co może chodzić ?
Doszedłem narazie do tego, że chodzi o użycie mapy, jezeli wpisuję ścieżkę do INi ręcznie nic sie nie dzieje.
Pozdrawiam