Prechádzať zdrojové kódy

Speicherzugriffehler beim beenden des programms behoben

Kolja Strohm 5 rokov pred
rodič
commit
469f697a70
4 zmenil súbory, kde vykonal 23 pridanie a 5 odobranie
  1. BIN
      Start/Framework.dll
  2. BIN
      Start/Network.dll
  3. 3 3
      Start/start.cpp
  4. 20 2
      build.bat

BIN
Start/Framework.dll


BIN
Start/Network.dll


+ 3 - 3
Start/start.cpp

@@ -4,6 +4,7 @@
 #include <Globals.h>
 #include <InitDatei.h>
 #include <KSGNetwork.h> 
+#include <Network.h>
 
 int KSGStart Framework::Start( Startparam p )
 {
@@ -86,16 +87,17 @@ int KSGStart Framework::Start( Startparam p )
     iDat->speichern();
     Text *ipT = iDat->zWert( "ServerIP" );
     unsigned short port = (unsigned short)TextZuInt( iDat->zWert( "ServerPort" )->getText(), 10 );
-    iDat->release();
 
     // Registrieren beim Server
     if( !mainClient->registerSSL( ipT->getText(), port ) )
     {
+        iDat->release();
         Text err = "Fehler beim Registrieren des Clients: ";
         err += mainClient->getLetzterFehler();
         WMessageBox( 0, new Text( "Fehler" ), err.getThis(), MB_ICONERROR );
         exit( 0 );
     }
+    iDat->release();
 
     // Speichere Server Adresse für andere Anwendungen
     int klientNummer = mainClient->getClientId();
@@ -185,7 +187,6 @@ int KSGStart Framework::Start( Startparam p )
                     mainClient->unregister();
                     mainClient->release();
 
-                    ipT->release();
                     Network::Exit();
 
                     DateiRemove( new Text( "data/tmp" ) );
@@ -229,7 +230,6 @@ int KSGStart Framework::Start( Startparam p )
     mainClient->unregister();
     mainClient->release();
 
-    ipT->release();
     Network::Exit();
 
     DateiRemove( new Text( "data/tmp" ) );

+ 20 - 2
build.bat

@@ -1,3 +1,21 @@
-"D:\Visual Studio 2017\MSBuild\15.0\Bin\MSBuild.exe" "Start.sln" /p:configuration=release /p:platform=win32
+:DebugWin64
+SET RETURN=DebugWin64
+SET NEXT=ReleaseWin64
+"D:\Visual Studio 2017\MSBuild\15.0\Bin\MSBuild.exe" "Start.sln" /p:configuration=debug /p:platform=x64
+if errorlevel 1 GOTO Error
+:ReleaseWin64
+SET RETURN=ReleaseWin64
+SET NEXT=ReleaseWin32
 "D:\Visual Studio 2017\MSBuild\15.0\Bin\MSBuild.exe" "Start.sln" /p:configuration=release /p:platform=x64
-"D:\Visual Studio 2017\MSBuild\15.0\Bin\MSBuild.exe" "Start.sln" /p:configuration=debug /p:platform=x64
+if errorlevel 1 GOTO Error
+:ReleaseWin32
+SET RETURN=ReleaseWin32
+SET NEXT=END
+"D:\Visual Studio 2017\MSBuild\15.0\Bin\MSBuild.exe" "Start.sln" /p:configuration=release /p:platform=win32
+if errorlevel 1 GOTO Error
+GOTO End
+:Error
+SET /p redo=Nochmal versuchen?(j/n):
+IF /I '%redo%' equ 'j' GOTO %RETURN%
+GOTO %NEXT%
+:End