|
@@ -547,13 +547,31 @@ void Spiel::thread()
|
|
|
spielDll = LoadLibrary( pfad->getText() );
|
|
|
if( !spielDll )
|
|
|
{
|
|
|
- // error
|
|
|
+ Text tmp = ss->zInit()->zWert( "TempMapPfad" )->getText();
|
|
|
+ tmp += "/";
|
|
|
+ tmp += id;
|
|
|
+ DateiRemove( tmp );
|
|
|
+ for( int i = 0; i < spielerAnzahl; i++ )
|
|
|
+ klients->z( i )->errorZuKlientSende( "Fehler beim laden des Spiels. Der Server kann das Spiel nict finden." );
|
|
|
+ ss->zDB()->setSpielStatusBeendet( id, 4 );
|
|
|
+ ss->removeSpiel( id ); // delete this
|
|
|
+ return;
|
|
|
}
|
|
|
pfad->release();
|
|
|
DllStart getSpielKlasse = (DllStart)GetProcAddress( spielDll, "getSpielKlasse" );
|
|
|
if( !getSpielKlasse )
|
|
|
{
|
|
|
- // error
|
|
|
+ FreeLibrary( spielDll );
|
|
|
+ spielDll = 0;
|
|
|
+ Text tmp = ss->zInit()->zWert( "TempMapPfad" )->getText();
|
|
|
+ tmp += "/";
|
|
|
+ tmp += id;
|
|
|
+ DateiRemove( tmp );
|
|
|
+ for( int i = 0; i < spielerAnzahl; i++ )
|
|
|
+ klients->z( i )->errorZuKlientSende( "Fehler beim laden des Spiels. Der Server kann das Spiel nict finden." );
|
|
|
+ ss->zDB()->setSpielStatusBeendet( id, 4 );
|
|
|
+ ss->removeSpiel( id ); // delete this
|
|
|
+ return;
|
|
|
}
|
|
|
spiel = getSpielKlasse();
|
|
|
spiel->setPSQLK( ss->zDB()->getThis() );
|