Browse Source

Einiege Fehler behoben

Kolja Strohm 6 years ago
parent
commit
b1dd44b11d

BIN
Fertig/x32/smp.exe


BIN
Fertig/x32/sql.dll


+ 3 - 3
SMP/Netzwerk/Main/MSKlient.cpp

@@ -297,10 +297,10 @@ bool MSKlient::getPatchServerListe( Array< ServerData* > *list )
             k->getNachricht( s->name, len );
             k->getNachricht( (char*)&len, 1 );
             s->ip.fillText( ' ', len );
-            k->sende( s->ip, len );
+            k->getNachricht( s->ip, len );
             k->getNachricht( (char*)&len, 1 );
             s->status.fillText( ' ', len );
-            k->sende( s->status, len );
+            k->getNachricht( s->status, len );
             list->add( s );
         }
     }
@@ -330,7 +330,7 @@ bool MSKlient::getPatchServerDetails( int id, ServerDetails *details )
             k->getNachricht( details->name, len );
             k->getNachricht( (char*)&len, 1 );
             details->ip.fillText( ' ', len );
-            k->sende( details->ip, len );
+            k->getNachricht( details->ip, len );
             k->getNachricht( (char*)&details->port, 2 );
             k->getNachricht( (char*)&details->adminPort, 2 );
             k->getNachricht( (char*)&details->tasks, 4 );

+ 11 - 18
SMP/Programm/Server/Patch/PatchServer.cpp

@@ -158,8 +158,6 @@ void PSUpdate::thread()
                 systemA->release();
                 dateiA->release();
                 dateiAnzahlA->release();
-                psc->abbruch();
-                psc = (PSKlient*)psc->release();
                 systemInit->release();
                 zPSA->setUpdateFertig( 1, gruppeId[ g ] );
                 continue;
@@ -198,21 +196,21 @@ void PSUpdate::thread()
                     }
                     __int64 gr = d->getSize();
                     d->open( Datei::Style::lesen );
+                    int version;
+                    int system = 0;
+                    for( int s = 0; s < sAnz; s++ )
+                    {
+                        if( systemT.z( s )->second.istGleich( systemA->z( i )->getText() ) )
+                            system = systemT.z( s )->first;
+                    }
+                    psc->getFileVersion( dateiA->z( i )->z( j )->getText(), system, gruppeId[ g ], &version );
                     psc->lock();
                     psc->zKlient()->sende( "\xE", 1 );
                     char ret = 0;
                     psc->zKlient()->getNachricht( &ret, 1 );
                     if( ret == 1 )
                     {
-                        int system = 0;
-                        for( int s = 0; s < sAnz; s++ )
-                        {
-                            if( systemT.z( s )->second.istGleich( systemA->z( i )->getText() ) )
-                                system = systemT.z( s )->first;
-                        }
                         psc->zKlient()->sende( (char*)&system, 4 );
-                        int version;
-                        psc->getFileVersion( dateiA->z( i )->z( j )->getText(), system, gruppeId[ g ], &version );
                         psc->zKlient()->sende( (char*)&version, 4 );
                         short län = dateiA->z( i )->z( j )->getLength();
                         psc->zKlient()->sende( (char*)&län, 2 );
@@ -271,8 +269,6 @@ void PSUpdate::thread()
                         std::cout << "Error: " << txt << "\n";
                         delete[] txt;
                         psc->unlock();
-                        psc->trenne();
-                        psc = (PSKlient*)psc->release();
                         zPSA->setUpdateProzent( 0, gruppeId[ g ] );
                         zPSA->setUpdateFertig( 1, gruppeId[ g ] );
                         br = 1;
@@ -294,13 +290,11 @@ void PSUpdate::thread()
         }
         else
         {
-            psc = (PSKlient*)psc->release();
             systemInit->release();
             zPSA->setUpdateProzent( 0, gruppeId[ g ] );
             zPSA->setUpdateFertig( 1, gruppeId[ g ] );
             continue;
         }
-        psc = (PSKlient*)psc->release();
         zPSA->setUpdateProzent( 0, gruppeId[ g ] );
         zPSA->setUpdateFertig( 0, gruppeId[ g ] );
         systemInit->release();
@@ -364,7 +358,7 @@ void PSDetails::thread()
     }
     else
     {
-        PSKlient *psc = new PSKlient( detail.ip, detail.port );
+        PSKlient *psc = new PSKlient( detail.ip, detail.adminPort );
         int st = psc->getStatus();
         if( st >= 0 )
             psc->trenne();
@@ -429,7 +423,7 @@ void PSSuche::thread()
             ServerData *s = list.get( i );
             if( !s->status.istGleich( "Unerreichbar" ) )
             {
-                PSKlient *psc = new PSKlient( s->ip.getText(), s->port );
+                PSKlient *psc = new PSKlient( s->ip.getText(), s->adminPort );
                 st = psc->getStatus();
                 switch( st )
                 {
@@ -963,7 +957,6 @@ void PatchServer::addServer( int id, char *name, char *ip, int port, int adminPo
     txt->append( adminPort );
     tabelle->setZeichnungZ( 4, y, getTabellenEintrag( txt->getText(), schrift->getThis(), 0xFFFFFFFF ) );
     txt->release();
-    tabelle->setZeichnungZ( 5, y, getTabellenEintrag( status, schrift->getThis(), 0xFFFF8800 ) );
     tabelle->setZeichnungZ( 5, y, getTabellenEintrag( status, schrift->getThis(), getColorFromStatus( status ) ) );
     KontrollKnopf *knopf = new KontrollKnopf();
     knopf->setStyle( KontrollKnopf::Style::Sichtbar | KontrollKnopf::Style::Erlaubt | KontrollKnopf::Style::KlickBuffer );
@@ -980,7 +973,7 @@ void PatchServer::setServerDetails( int id, char *name, char *ip, int port, int
         psc = new PSKlient( ip, adminPort );
         psc->verbinden();
         psc->login( account->zName()->getText(), account->zPasswort()->getText() );
-        updateTh->setServer( ip, port );
+        updateTh->setServer( ip, adminPort );
     }
     if( !error )
     {

+ 54 - 12
SMP/Programm/Version/Version.cpp

@@ -20,10 +20,13 @@ Version::Version( Schrift *s, MSKlient *msc, RessourceBild *rb, AdminAccount *ac
         for( int i = 0; i < anz; i++ )
         {
             ServerData *server = list.get( i );
-            psc = new PSKlient( server->ip, server->adminPort );
-            if( psc->verbinden() )
-                break;
-            psc = (PSKlient*)psc->release();
+            if( !psc )
+            {
+                psc = new PSKlient( server->ip, server->adminPort );
+                if( !psc->verbinden() )
+                    psc = (PSKlient*)psc->release();
+            }
+            delete server;
         }
     }
     if( !psc )
@@ -670,11 +673,14 @@ bool Version::commitMausEreignis( void *o, MausEreignis me )
 				Datei *d = new Datei();
 				d->setDatei( pfad );
 				Zeit *zeit = d->getLastChange();
-                if( !psc->updateFile( ( (TextFeld*)dateiT->zZeichnung( 0, i ) )->zText()->getText(), zeit, system, gruppe ) )
+                if( !psc || !psc->updateFile( ( (TextFeld*)dateiT->zZeichnung( 0, i ) )->zText()->getText(), zeit, system, gruppe ) )
                 {
                     dateiF->removeStyle( Fenster::Style::Sichtbar );
                     aktualisieren->removeStyle( Knopf::Style::Erlaubt );
-                    fehlerText->setText( psc->getLetzterFehler() );
+                    if( !psc )
+                        fehlerText->setText( "Es wurde kein erreichbarer Patch Server gefunden." );
+                    else
+                        fehlerText->setText( psc->getLetzterFehler() );
                     fehlerF->addStyle( Fenster::Style::Sichtbar );
                     zurück->addStyle( Knopf::Style::Erlaubt );
                     if( zeit )
@@ -689,11 +695,14 @@ bool Version::commitMausEreignis( void *o, MausEreignis me )
 			}
 			else if( ( (TextFeld*)dateiT->zZeichnung( 2, i ) )->zText()->istGleich( "Gelöscht" ) )
 			{ // datei ist Gelöscht
-                if( !psc->updateFile( ( (TextFeld*)dateiT->zZeichnung( 0, i ) )->zText()->getText(), 0, system, gruppe ) )
+                if( !psc || !psc->updateFile( ( (TextFeld*)dateiT->zZeichnung( 0, i ) )->zText()->getText(), 0, system, gruppe ) )
                 {
                     dateiF->removeStyle( Fenster::Style::Sichtbar );
                     aktualisieren->removeStyle( Knopf::Style::Erlaubt );
-                    fehlerText->setText( psc->getLetzterFehler() );
+                    if( !psc )
+                        fehlerText->setText( "Es wurde kein erreichbarer Patch Server gefunden." );
+                    else
+                        fehlerText->setText( psc->getLetzterFehler() );
                     fehlerF->addStyle( Fenster::Style::Sichtbar );
                     zurück->addStyle( Knopf::Style::Erlaubt );
                     return 1;
@@ -708,11 +717,14 @@ bool Version::commitMausEreignis( void *o, MausEreignis me )
 				Datei *d = new Datei();
 				d->setDatei( pfad );
 				Zeit *zeit = d->getLastChange();
-                if( !psc->updateFile( ( (TextFeld*)dateiT->zZeichnung( 0, i ) )->zText()->getText(), zeit, system, gruppe ) )
+                if( !psc || !psc->updateFile( ( (TextFeld*)dateiT->zZeichnung( 0, i ) )->zText()->getText(), zeit, system, gruppe ) )
                 {
                     dateiF->removeStyle( Fenster::Style::Sichtbar );
                     aktualisieren->removeStyle( Knopf::Style::Erlaubt );
-                    fehlerText->setText( psc->getLetzterFehler() );
+                    if( !psc )
+                        fehlerText->setText( "Es wurde kein erreichbarer Patch Server gefunden." );
+                    else
+                        fehlerText->setText( psc->getLetzterFehler() );
                     fehlerF->addStyle( Fenster::Style::Sichtbar );
                     zurück->addStyle( Knopf::Style::Erlaubt );
                     if( zeit )
@@ -728,11 +740,14 @@ bool Version::commitMausEreignis( void *o, MausEreignis me )
 		}
         if( gU )
         {
-            if( !psc->dateiGruppeUpdate( gruppe ) )
+            if( !psc || !psc->dateiGruppeUpdate( gruppe ) )
             {
                 dateiF->removeStyle( Fenster::Style::Sichtbar );
                 aktualisieren->removeStyle( Knopf::Style::Erlaubt );
-                fehlerText->setText( psc->getLetzterFehler() );
+                if( !psc )
+                    fehlerText->setText( "Es wurde kein erreichbarer Patch Server gefunden." );
+                else
+                    fehlerText->setText( psc->getLetzterFehler() );
                 fehlerF->addStyle( Fenster::Style::Sichtbar );
                 zurück->addStyle( Knopf::Style::Erlaubt );
                 return 1;
@@ -749,6 +764,15 @@ bool Version::aktualisierenMausEreignis( void *o, MausEreignis me )
 	{
 		if( gruppeF->hatStyle( Fenster::Style::Sichtbar ) )
 		{
+            if( !psc )
+            {
+                gruppeF->removeStyle( Fenster::Style::Sichtbar );
+                aktualisieren->removeStyle( Knopf::Style::Erlaubt );
+                fehlerText->setText( "Es wurde kein erreichbarer Patch Server gefunden." );
+                fehlerF->addStyle( Fenster::Style::Sichtbar );
+                zurück->addStyle( Knopf::Style::Erlaubt );
+                return 1;
+            }
 			for( int i = 1; i < gruppeT->getZeilenAnzahl(); )
 			{
 				( (TextFeld*)gruppeT->zZeichnung( 0, i ) )->release();
@@ -802,6 +826,15 @@ bool Version::aktualisierenMausEreignis( void *o, MausEreignis me )
 		}
 		else if( systemF->hatStyle( Fenster::Style::Sichtbar ) )
 		{
+            if( !psc )
+            {
+                gruppeF->removeStyle( Fenster::Style::Sichtbar );
+                aktualisieren->removeStyle( Knopf::Style::Erlaubt );
+                fehlerText->setText( "Es wurde kein erreichbarer Patch Server gefunden." );
+                fehlerF->addStyle( Fenster::Style::Sichtbar );
+                zurück->addStyle( Knopf::Style::Erlaubt );
+                return 1;
+            }
 			for( int i = 1; i < systemT->getZeilenAnzahl(); )
 			{
 				( (TextFeld*)systemT->zZeichnung( 0, i ) )->release();
@@ -847,6 +880,15 @@ bool Version::aktualisierenMausEreignis( void *o, MausEreignis me )
 		}
 		else if( dateiF->hatStyle( Fenster::Style::Sichtbar ) )
 		{
+            if( !psc )
+            {
+                gruppeF->removeStyle( Fenster::Style::Sichtbar );
+                aktualisieren->removeStyle( Knopf::Style::Erlaubt );
+                fehlerText->setText( "Es wurde kein erreichbarer Patch Server gefunden." );
+                fehlerF->addStyle( Fenster::Style::Sichtbar );
+                zurück->addStyle( Knopf::Style::Erlaubt );
+                return 1;
+            }
 			for( int i = 1; i < dateiT->getZeilenAnzahl(); )
 			{
 				( (TextFeld*)dateiT->zZeichnung( 0, i ) )->release();

+ 7 - 0
SMP/SMP.vcxproj

@@ -114,6 +114,13 @@
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <AdditionalDependencies>framework.lib;network.lib;%(AdditionalDependencies)</AdditionalDependencies>
     </Link>
+    <CustomBuildStep>
+      <Command>copy "..\..\..\Allgemein\Framework\x64\Debug\Framework.dll" Framework.dll
+copy "..\..\..\Allgemein\Network\x64\Debug\Network.dll" Network.dll</Command>
+    </CustomBuildStep>
+    <CustomBuildStep>
+      <Outputs>kopieren;%(Outputs)</Outputs>
+    </CustomBuildStep>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>

BIN
SMP/network.dll