Komunikat błędu w zasadzie nic mi nie mówi. Co się zaś tyczy drugiego zrzutu ekranu, to dotyczy on linii numer 204 i 216 i oznacza, że kod jest nieosiągalny, czyli masz tam coś z czego program nie może skorzystać, nie jest to błąd lecz ostrzeżenie, niemniej w pewnych sytuacjach prowadzi to do błędu.
Co mnie zastanawia to ta ścieżka dostępu: "C:\\Document and Settings\\Indianer\\Pulpit\\Hipek\\images\\"
Przypuszczam, że odnosi się ona do jakiegoś katalogu gry, co jeżeli jednak ścieżka nie będzie istniała, bo katalog z grą nie zostanie umieszczony na pulpicie?!
Program powinien sprawdzać czy ścieżka do pliku istnieje. Funkcja load mogłaby wyglądać tak:
void TForm1::load( String file )
{
String body = "C:\\Document and Settings\\Indianer\\Pulpit\\Hipek\\images\\" + file;
if( !FileExists( body) )
{
ShowMessage("Bład! Plik: '" + body + "' nie istnieje!");
return;
}
BMP = new Graphics::TBitmap;
BMP->LoadFromFile( body );
}
Rodzi się jednak pytanie - po co podawać w programie jawną ścieżkę, która wcale nie musi istnieć?
Kolejna sprawa wewnątrz funkcji load tworzysz obiekt BMP, czyli przy każdym wywołaniu tej funkcji obiekt będzie tworzony na nowo, a stary będzie gubiony. Czy niszczysz gdzieś stary obiekt BMP przed wywołaniem nowego? Może powinieneś przemyśleć ten kod, może funkcja powinna wyglądać tak:
void TForm1::load( String file )
{
String body = "C:\\Document and Settings\\Indianer\\Pulpit\\Hipek\\images\\" + file;
if( !FileExists( body) )
{
ShowMessage("Bład! Plik: '" + body + "' nie istnieje!");
return;
}
if( BMP != NULL )
{
delete BMP;
BMP = NULL;
}
BMP = new Graphics::TBitmap;
BMP->LoadFromFile( body );
}