Bladeren bron

An neues Framework angepasst

Kolja Strohm 6 jaren geleden
bovenliggende
commit
36157a9e53

+ 3 - 3
SMP/Programm/Beenden/Beenden.cpp

@@ -31,7 +31,7 @@ Beenden::Beenden( Schrift *s, Bildschirm *b )
 	text->setSchriftZ( s->getThis() );
 	text->setSchriftSize( 12 );
 	text->setSchriftFarbe( 0xFFFFFFFF );
-	f->addMember( text );
+	f->addMember( text->getThis() );
 
 	beenden = new Knopf( );
 	beenden->setStyle( Knopf::Style::Normal );
@@ -41,7 +41,7 @@ Beenden::Beenden( Schrift *s, Bildschirm *b )
 	beenden->setPosition( 190, 100 );
 	beenden->setMausEreignisParameter( this );
 	beenden->setMausEreignis( beendenBeendenMausEreignis );
-	f->addMember( beenden );
+	f->addMember( beenden->getThis() );
 
 	fenster = 0;
 	ref = 1;
@@ -73,7 +73,7 @@ void Beenden::setSichtbar( bool s )
 	if( !fenster )
 		return;
 	if( s )
-		fenster->addMember( f );
+		fenster->addMember( f->getThis() );
 	else
 		fenster->removeMember( f );
 }

+ 5 - 5
SMP/Programm/Login/Login.cpp

@@ -152,7 +152,7 @@ Login::Login( Schrift *s, Programm *zP, InitDatei *iDat, RessourceBild *resB, Bi
 	logout->setText( "Möchtest du dich wirklich ausloggen?" );
 	logout->setSize( 300, 20 );
 	logout->setPosition( 0, 20 );
-	f->addMember( logout );
+	f->addMember( logout->getThis() );
 
 	name = new TextFeld();
 	name->setStyle( TextFeld::Style::TextFeld );
@@ -168,7 +168,7 @@ Login::Login( Schrift *s, Programm *zP, InitDatei *iDat, RessourceBild *resB, Bi
 	name->setText( "Name" );
 	name->setRahmenFarbe( 0xFFFFFFFF );
 	name->setRahmenBreite( 1 );
-	f->addMember( name );
+	f->addMember( name->getThis() );
 
 	passwort = new TextFeld();
 	passwort->setStyle( TextFeld::Style::TextFeld );
@@ -184,7 +184,7 @@ Login::Login( Schrift *s, Programm *zP, InitDatei *iDat, RessourceBild *resB, Bi
 	passwort->setText( "Passwort" );
 	passwort->setRahmenFarbe( 0xFFFFFFFF );
 	passwort->setRahmenBreite( 1 );
-	f->addMember( passwort );
+	f->addMember( passwort->getThis() );
 
 	login = new Knopf();
 	login->setStyle( Knopf::Style::Normal );
@@ -194,7 +194,7 @@ Login::Login( Schrift *s, Programm *zP, InitDatei *iDat, RessourceBild *resB, Bi
 	login->setMausEreignis( loginLoginMausEreignis );
 	login->setSize( 150, 20 );
 	login->setPosition( 75, 70 );
-	f->addMember( login );
+	f->addMember( login->getThis() );
 
 	ref = 1;
 }
@@ -232,7 +232,7 @@ void Login::setSichtbar( bool s )
 	{
 		name->addStyle( TextFeld::Style::Fokus );
 		name->setAuswahl( name->zText()->getLength(), 0 );
-		fenster->addMember( f );
+		fenster->addMember( f->getThis() );
 	}
 	else
 	{

+ 1 - 4
SMP/Programm/Programm.cpp

@@ -50,9 +50,6 @@ Programm::~Programm()
 	name->release();
 	knopf->release();
 	abschnitte->release();
-	auswahlRahmen->release();
-	kFenster->release();
-	mFenster->release();
 	bildschirm->release();
 	schrift->release();
 }
@@ -82,7 +79,7 @@ bool Programm::addAbschnitt( const char *name, Abschnitt *abschnitt )
 	k->setText( name );
 	k->setMausEreignisParameter( this );
 	k->setMausEreignis( programmAbschnittME );
-	kFenster->addMember( k );
+	kFenster->addMember( k->getThis() );
 
 	this->name->add( new Text( name ), abschnittAnzahl );
 	knopf->add( k, abschnittAnzahl );

+ 25 - 50
SMP/Programm/Server/Patch/PatchServer.cpp

@@ -523,17 +523,17 @@ PatchServer::PatchServer( Schrift *s, InitDatei *d, MSKlient *msk, RessourceBild
     liste = new Fenster();
     liste->setStyle( Fenster::Style::Sichtbar | Fenster::Style::Erlaubt );
     liste->setSize( 490, 255 );
-    f->addMember( liste );
+    f->addMember( liste->getThis() );
 
     details = new Fenster();
     details->setStyle( Fenster::Style::Erlaubt );
     details->setSize( 490, 255 );
-    f->addMember( details );
+    f->addMember( details->getThis() );
 
     updateF = new Fenster();
     updateF->setStyle( Fenster::Style::Erlaubt );
     updateF->setSize( 490, 255 );
-    f->addMember( updateF );
+    f->addMember( updateF->getThis() );
 
     tabelle = new ObjTabelle();
     tabelle->setStyle( ObjTabelle::Style::Sichtbar | ObjTabelle::Style::VScroll | ObjTabelle::Style::Rahmen | ObjTabelle::Style::Raster | ObjTabelle::Style::Erlaubt );
@@ -567,7 +567,7 @@ PatchServer::PatchServer( Schrift *s, InitDatei *d, MSKlient *msk, RessourceBild
     tabelle->setZeichnungZ( 4, 0, getTabellenEintrag( "APort", s->getThis(), 0xFFFFFFFF ) );
     tabelle->setZeichnungZ( 5, 0, getTabellenEintrag( "Status", s->getThis(), 0xFFFFFFFF ) );
     tabelle->setZeichnungZ( 6, 0, 0 );
-    liste->addMember( tabelle );
+    liste->addMember( tabelle->getThis() );
 
     aktualisieren = new Knopf();
     aktualisieren->setText( "" );
@@ -577,7 +577,7 @@ PatchServer::PatchServer( Schrift *s, InitDatei *d, MSKlient *msk, RessourceBild
     aktualisieren->setSize( 20, 20 );
     aktualisieren->setMausEreignisParameter( this );
     aktualisieren->setMausEreignis( patchServerAktualisierenMausEreignis );
-    f->addMember( aktualisieren );
+    f->addMember( aktualisieren->getThis() );
 
     weiter = new Knopf();
     weiter->setText( "" );
@@ -587,7 +587,7 @@ PatchServer::PatchServer( Schrift *s, InitDatei *d, MSKlient *msk, RessourceBild
     weiter->setSize( 20, 20 );
     weiter->setMausEreignisParameter( this );
     weiter->setMausEreignis( patchServerWeiterMausEreignis );
-    f->addMember( weiter );
+    f->addMember( weiter->getThis() );
 
     zurück = new Knopf();
     zurück->setText( "" );
@@ -597,7 +597,7 @@ PatchServer::PatchServer( Schrift *s, InitDatei *d, MSKlient *msk, RessourceBild
     zurück->setSize( 20, 20 );
     zurück->setMausEreignisParameter( this );
     zurück->setMausEreignis( patchServerZurückMausEreignis );
-    f->addMember( zurück );
+    f->addMember( zurück->getThis() );
 
     serverId = new TextFeld();
     serverId->setStyle( TextFeld::Style::Sichtbar );
@@ -607,7 +607,7 @@ PatchServer::PatchServer( Schrift *s, InitDatei *d, MSKlient *msk, RessourceBild
     serverId->setText( "ID: " );
     serverId->setSize( 100, 20 );
     serverId->setPosition( 10, 10 );
-    details->addMember( serverId );
+    details->addMember( serverId->getThis() );
 
     serverName = new TextFeld();
     serverName->setStyle( TextFeld::Style::Sichtbar );
@@ -617,7 +617,7 @@ PatchServer::PatchServer( Schrift *s, InitDatei *d, MSKlient *msk, RessourceBild
     serverName->setText( "Name: " );
     serverName->setSize( 150, 20 );
     serverName->setPosition( 120, 10 );
-    details->addMember( serverName );
+    details->addMember( serverName->getThis() );
 
     serverIp = new TextFeld();
     serverIp->setStyle( TextFeld::Style::Sichtbar );
@@ -627,7 +627,7 @@ PatchServer::PatchServer( Schrift *s, InitDatei *d, MSKlient *msk, RessourceBild
     serverIp->setText( "IP: " );
     serverIp->setSize( 120, 20 );
     serverIp->setPosition( 280, 10 );
-    details->addMember( serverIp );
+    details->addMember( serverIp->getThis() );
 
     serverPort = new TextFeld();
     serverPort->setStyle( TextFeld::Style::Sichtbar );
@@ -637,7 +637,7 @@ PatchServer::PatchServer( Schrift *s, InitDatei *d, MSKlient *msk, RessourceBild
     serverPort->setText( "Port: " );
     serverPort->setSize( 100, 20 );
     serverPort->setPosition( 10, 40 );
-    details->addMember( serverPort );
+    details->addMember( serverPort->getThis() );
 
     serverAPort = new TextFeld();
     serverAPort->setStyle( TextFeld::Style::Sichtbar );
@@ -647,7 +647,7 @@ PatchServer::PatchServer( Schrift *s, InitDatei *d, MSKlient *msk, RessourceBild
     serverAPort->setText( "Admin Port: " );
     serverAPort->setSize( 200, 20 );
     serverAPort->setPosition( 120, 40 );
-    details->addMember( serverAPort );
+    details->addMember( serverAPort->getThis() );
 
     serverClients = new TextFeld();
     serverClients->setStyle( TextFeld::Style::Sichtbar );
@@ -657,7 +657,7 @@ PatchServer::PatchServer( Schrift *s, InitDatei *d, MSKlient *msk, RessourceBild
     serverClients->setText( "Clients: " );
     serverClients->setSize( 100, 20 );
     serverClients->setPosition( 10, 70 );
-    details->addMember( serverClients );
+    details->addMember( serverClients->getThis() );
 
     serverMaxClients = new TextFeld();
     serverMaxClients->setStyle( TextFeld::Style::Sichtbar );
@@ -667,7 +667,7 @@ PatchServer::PatchServer( Schrift *s, InitDatei *d, MSKlient *msk, RessourceBild
     serverMaxClients->setText( "Max Clients: " );
     serverMaxClients->setSize( 80, 20 );
     serverMaxClients->setPosition( 120, 70 );
-    details->addMember( serverMaxClients );
+    details->addMember( serverMaxClients->getThis() );
 
     maxClients = new TextFeld();
     maxClients->setStyle( TextFeld::Style::Sichtbar | TextFeld::Style::Erlaubt | TextFeld::Style::Rahmen | TextFeld::Style::Buffered | TextFeld::Style::VCenter );
@@ -684,7 +684,7 @@ PatchServer::PatchServer( Schrift *s, InitDatei *d, MSKlient *msk, RessourceBild
     maxClients->setMausEreignis( _ret1ME );
     maxClients->setTastaturEreignisParameter( this );
     maxClients->setTastaturEreignis( patchServerMaxClientsTastaturEreignis );
-    details->addMember( maxClients );
+    details->addMember( maxClients->getThis() );
 
     serverStatus = new TextFeld();
     serverStatus->setStyle( TextFeld::Style::Sichtbar );
@@ -694,7 +694,7 @@ PatchServer::PatchServer( Schrift *s, InitDatei *d, MSKlient *msk, RessourceBild
     serverStatus->setText( "Status: " );
     serverStatus->setSize( 150, 20 );
     serverStatus->setPosition( 10, 100 );
-    details->addMember( serverStatus );
+    details->addMember( serverStatus->getThis() );
 
     serverFehler = new TextFeld();
     serverFehler->setStyle( TextFeld::Style::Sichtbar | TextFeld::Style::Mehrzeilig );
@@ -704,7 +704,7 @@ PatchServer::PatchServer( Schrift *s, InitDatei *d, MSKlient *msk, RessourceBild
     serverFehler->setText( "" );
     serverFehler->setSize( 470, 60 );
     serverFehler->setPosition( 10, 130 );
-    details->addMember( serverFehler );
+    details->addMember( serverFehler->getThis() );
 
     update = new Knopf();
     update->setStyle( Knopf::Style::Normal & ~Knopf::Style::Erlaubt );
@@ -714,7 +714,7 @@ PatchServer::PatchServer( Schrift *s, InitDatei *d, MSKlient *msk, RessourceBild
     update->setMausEreignis( patchServerUpdateMausEreignis );
     update->setSize( 80, 20 );
     update->setPosition( 400, 100 );
-    details->addMember( update );
+    details->addMember( update->getThis() );
 
     pausieren = new Knopf();
     pausieren->setStyle( Knopf::Style::Normal & ~Knopf::Style::Erlaubt );
@@ -724,7 +724,7 @@ PatchServer::PatchServer( Schrift *s, InitDatei *d, MSKlient *msk, RessourceBild
     pausieren->setMausEreignis( patchServerPausierenMausEreignis );
     pausieren->setSize( 80, 20 );
     pausieren->setPosition( 10, 200 );
-    details->addMember( pausieren );
+    details->addMember( pausieren->getThis() );
 
     stoppen = new Knopf();
     stoppen->setStyle( Knopf::Style::Normal & ~Knopf::Style::Erlaubt );
@@ -734,7 +734,7 @@ PatchServer::PatchServer( Schrift *s, InitDatei *d, MSKlient *msk, RessourceBild
     stoppen->setMausEreignis( patchServerStoppenMausEreignis );
     stoppen->setSize( 80, 20 );
     stoppen->setPosition( 100, 200 );
-    details->addMember( stoppen );
+    details->addMember( stoppen->getThis() );
 
     beenden = new Knopf();
     beenden->setStyle( Knopf::Style::Normal & ~Knopf::Style::Erlaubt );
@@ -744,7 +744,7 @@ PatchServer::PatchServer( Schrift *s, InitDatei *d, MSKlient *msk, RessourceBild
     beenden->setMausEreignis( patchServerBeendenMausEreignis );
     beenden->setSize( 80, 20 );
     beenden->setPosition( 190, 200 );
-    details->addMember( beenden );
+    details->addMember( beenden->getThis() );
 
     terminieren = new Knopf();
     terminieren->setStyle( Knopf::Style::Normal & ~Knopf::Style::Erlaubt );
@@ -754,7 +754,7 @@ PatchServer::PatchServer( Schrift *s, InitDatei *d, MSKlient *msk, RessourceBild
     terminieren->setMausEreignis( patchServerTerminierenMausEreignis );
     terminieren->setSize( 80, 20 );
     terminieren->setPosition( 280, 200 );
-    details->addMember( terminieren );
+    details->addMember( terminieren->getThis() );
 
     setMaxClients = new Knopf();
     setMaxClients->setStyle( Knopf::Style::Normal & ~Knopf::Style::Erlaubt );
@@ -764,7 +764,7 @@ PatchServer::PatchServer( Schrift *s, InitDatei *d, MSKlient *msk, RessourceBild
     setMaxClients->setMausEreignis( patchServerSetMaxClientsMausEreignis );
     setMaxClients->setSize( 110, 20 );
     setMaxClients->setPosition( 370, 200 );
-    details->addMember( setMaxClients );
+    details->addMember( setMaxClients->getThis() );
 
     updateT = new ObjTabelle();
     updateT->setStyle( ObjTabelle::Style::Sichtbar | ObjTabelle::Style::Erlaubt | ObjTabelle::Style::Rahmen | ObjTabelle::Style::VScroll );
@@ -801,7 +801,7 @@ PatchServer::PatchServer( Schrift *s, InitDatei *d, MSKlient *msk, RessourceBild
     updateT->setZeichnungZ( 1, 0, uTS );
     updateT->setMausEreignis( _ret1ME );
     updateT->setTastaturEreignis( _ret1TE );
-    updateF->addMember( updateT );
+    updateF->addMember( updateT->getThis() );
 
     updateStarten = new Knopf();
     updateStarten->setStyle( Knopf::Style::Normal );
@@ -811,7 +811,7 @@ PatchServer::PatchServer( Schrift *s, InitDatei *d, MSKlient *msk, RessourceBild
     updateStarten->setMausEreignis( patchServerUpdateStartenMausEreignis );
     updateStarten->setSize( 80, 20 );
     updateStarten->setPosition( 205, 200 );
-    updateF->addMember( updateStarten );
+    updateF->addMember( updateStarten->getThis() );
 
     obj = new Zeichnung();
 
@@ -825,16 +825,6 @@ PatchServer::PatchServer( Schrift *s, InitDatei *d, MSKlient *msk, RessourceBild
 // Destruktor
 PatchServer::~PatchServer()
 {
-    for( int i = 0; i < updateT->getZeilenAnzahl(); i++ )
-    {
-        ( (TextFeld*)updateT->zZeichnung( 0, i ) )->release();
-        if( updateT->zZeichnung( 3, i ) == obj )
-            ( (FBalken*)updateT->zZeichnung( 1, i ) )->release();
-        else
-            ( (TextFeld*)updateT->zZeichnung( 1, i ) )->release();
-        if( updateT->zZeichnung( 2, i ) )
-            ( (KontrollKnopf*)updateT->zZeichnung( 2, i ) )->release();
-    }
     delete obj;
     if( psc )
     {
@@ -877,21 +867,6 @@ PatchServer::~PatchServer()
     suchen->release();
     getDetails->release();
     updateTh->release();
-    for( int x = 0; x < tabelle->getSpaltenAnzahl(); x++ )
-    {
-        for( int y = 0; y < tabelle->getZeilenAnzahl(); y++ )
-        {
-            Zeichnung *obj = tabelle->zZeichnung( x, y );
-            if( obj )
-            {
-                if( x == tabelle->getSpaltenNummer( "auswahl" ) )
-                    ( (KontrollKnopf*)obj )->release();
-                else
-                    ( (TextFeld*)obj )->release();
-            }
-            tabelle->setZeichnungZ( x, y, 0 );
-        }
-    }
     tabelle->release();
     schrift->release();
 }

+ 18 - 48
SMP/Programm/Version/Version.cpp

@@ -53,7 +53,7 @@ Version::Version( Schrift *s, MSKlient *msc, RessourceBild *rb, AdminAccount *ac
 	gruppeF->setStyle( Fenster::Style::Sichtbar | Fenster::Style::Erlaubt );
 	gruppeF->setSize( 680, 640 );
 	gruppeF->setPosition( 10, 10 );
-	f->addMember( gruppeF );
+	f->addMember( gruppeF->getThis() );
 
 	gruppeT = new ObjTabelle();
 	gruppeT->setStyle( ObjTabelle::Style::Sichtbar | ObjTabelle::Style::Erlaubt | ObjTabelle::Style::Rahmen | ObjTabelle::Style::VScroll );
@@ -97,7 +97,7 @@ Version::Version( Schrift *s, MSKlient *msc, RessourceBild *rb, AdminAccount *ac
 	gruppeT->setZeichnungZ( 2, 0, gTV );
 	gruppeT->setMausEreignis( _ret1ME );
 	gruppeT->setTastaturEreignis( _ret1TE );
-	gruppeF->addMember( gruppeT );
+	gruppeF->addMember( gruppeT->getThis() );
 
 	neuGruppeName = new TextFeld();
 	neuGruppeName->setStyle( TextFeld::Style::Sichtbar | TextFeld::Style::Erlaubt | TextFeld::Style::Rahmen | TextFeld::Style::Buffered | TextFeld::Style::VCenter );
@@ -113,7 +113,7 @@ Version::Version( Schrift *s, MSKlient *msc, RessourceBild *rb, AdminAccount *ac
 	neuGruppeName->setMausEreignis( _ret1ME );
 	neuGruppeName->setTastaturEreignis( _ret1TE );
 	neuGruppeName->setText( "" );
-	gruppeF->addMember( neuGruppeName );
+	gruppeF->addMember( neuGruppeName->getThis() );
 
 	neuGruppePfad = new TextFeld();
 	neuGruppePfad->setStyle( TextFeld::Style::Sichtbar | TextFeld::Style::Erlaubt | TextFeld::Style::Rahmen | TextFeld::Style::Buffered | TextFeld::Style::VCenter );
@@ -129,7 +129,7 @@ Version::Version( Schrift *s, MSKlient *msc, RessourceBild *rb, AdminAccount *ac
 	neuGruppePfad->setMausEreignis( _ret1ME );
 	neuGruppePfad->setTastaturEreignis( _ret1TE );
 	neuGruppePfad->setText( "" );
-	gruppeF->addMember( neuGruppePfad );
+	gruppeF->addMember( neuGruppePfad->getThis() );
 
 	neuGruppeK = new Knopf();
 	neuGruppeK->setText( "" );
@@ -139,13 +139,13 @@ Version::Version( Schrift *s, MSKlient *msc, RessourceBild *rb, AdminAccount *ac
 	neuGruppeK->setSize( 20, 20 );
 	neuGruppeK->setMausEreignisParameter( this );
 	neuGruppeK->setMausEreignis( versionNeuGruppeKMausEreignis );
-	gruppeF->addMember( neuGruppeK );
+	gruppeF->addMember( neuGruppeK->getThis() );
 
 	systemF = new Fenster();
 	systemF->setStyle( Fenster::Style::Erlaubt );
 	systemF->setSize( 680, 640 );
 	systemF->setPosition( 10, 10 );
-	f->addMember( systemF );
+	f->addMember( systemF->getThis() );
 
 	systemInit = new InitDatei();
 
@@ -181,7 +181,7 @@ Version::Version( Schrift *s, MSKlient *msc, RessourceBild *rb, AdminAccount *ac
 	systemT->setZeichnungZ( 1, 0, sTP );
 	systemT->setMausEreignis( _ret1ME );
 	systemT->setTastaturEreignis( _ret1TE );
-	systemF->addMember( systemT );
+	systemF->addMember( systemT->getThis() );
 
 	neuSystemName = new TextFeld();
 	neuSystemName->setStyle( TextFeld::Style::Sichtbar | TextFeld::Style::Erlaubt | TextFeld::Style::Rahmen | TextFeld::Style::Buffered | TextFeld::Style::VCenter );
@@ -197,7 +197,7 @@ Version::Version( Schrift *s, MSKlient *msc, RessourceBild *rb, AdminAccount *ac
 	neuSystemName->setMausEreignis( _ret1ME );
 	neuSystemName->setTastaturEreignis( _ret1TE );
 	neuSystemName->setText( "" );
-	systemF->addMember( neuSystemName );
+	systemF->addMember( neuSystemName->getThis() );
 
 	neuSystemK = new Knopf();
 	neuSystemK->setText( "" );
@@ -207,13 +207,13 @@ Version::Version( Schrift *s, MSKlient *msc, RessourceBild *rb, AdminAccount *ac
 	neuSystemK->setSize( 20, 20 );
 	neuSystemK->setMausEreignisParameter( this );
 	neuSystemK->setMausEreignis( versionNeuSystemKMausEreignis );
-	systemF->addMember( neuSystemK );
+	systemF->addMember( neuSystemK->getThis() );
 
 	dateiF = new Fenster();
 	dateiF->setStyle( Fenster::Style::Erlaubt );
 	dateiF->setSize( 680, 640 );
 	dateiF->setPosition( 10, 10 );
-	f->addMember( dateiF );
+	f->addMember( dateiF->getThis() );
 
 	dateiT = new ObjTabelle();
 	dateiT->setStyle( ObjTabelle::Style::Sichtbar | ObjTabelle::Style::Erlaubt | ObjTabelle::Style::Rahmen | ObjTabelle::Style::VScroll );
@@ -253,7 +253,7 @@ Version::Version( Schrift *s, MSKlient *msc, RessourceBild *rb, AdminAccount *ac
 	dTS->setRahmenFarbe( 0xFFFFFFFF );
 	dTS->setText( "Status" );
 	dateiT->setZeichnungZ( 2, 0, dTS );
-	dateiF->addMember( dateiT );
+	dateiF->addMember( dateiT->getThis() );
 
 	commit = new Knopf();
 	commit->setStyle( Knopf::Style::Normal );
@@ -263,13 +263,13 @@ Version::Version( Schrift *s, MSKlient *msc, RessourceBild *rb, AdminAccount *ac
 	commit->setMausEreignis( versionCommitMausEreignis );
 	commit->setSize( 100, 20 );
 	commit->setPosition( 290, 610 );
-	dateiF->addMember( commit );
+	dateiF->addMember( commit->getThis() );
 
 	fehlerF = new Fenster();
 	fehlerF->setStyle( Fenster::Style::Erlaubt );
 	fehlerF->setSize( 680, 640 );
 	fehlerF->setPosition( 10, 10 );
-	f->addMember( fehlerF );
+	f->addMember( fehlerF->getThis() );
 
 	fehlerText = new TextFeld();
 	fehlerText->setStyle( TextFeld::Style::Text );
@@ -278,7 +278,7 @@ Version::Version( Schrift *s, MSKlient *msc, RessourceBild *rb, AdminAccount *ac
 	fehlerText->setSchriftSize( 12 );
 	fehlerText->setText( "" );
 	fehlerText->setSize( 680, 650 );
-	fehlerF->addMember( fehlerText );
+	fehlerF->addMember( fehlerText->getThis() );
 
 	zurück = new Knopf();
 	zurück->setText( "" );
@@ -288,7 +288,7 @@ Version::Version( Schrift *s, MSKlient *msc, RessourceBild *rb, AdminAccount *ac
 	zurück->setSize( 20, 20 );
 	zurück->setMausEreignisParameter( this );
 	zurück->setMausEreignis( versionZurückMausEreignis );
-	f->addMember( zurück );
+	f->addMember( zurück->getThis() );
 
 	aktualisieren = new Knopf();
 	aktualisieren->setText( "" );
@@ -298,7 +298,7 @@ Version::Version( Schrift *s, MSKlient *msc, RessourceBild *rb, AdminAccount *ac
 	aktualisieren->setSize( 20, 20 );
 	aktualisieren->setMausEreignisParameter( this );
 	aktualisieren->setMausEreignis( versionAktualisierenMausEreignis );
-	f->addMember( aktualisieren );
+	f->addMember( aktualisieren->getThis() );
 
 	speichern = new Knopf();
 	speichern->setText( "" );
@@ -308,7 +308,7 @@ Version::Version( Schrift *s, MSKlient *msc, RessourceBild *rb, AdminAccount *ac
 	speichern->setSize( 20, 20 );
 	speichern->setMausEreignisParameter( this );
 	speichern->setMausEreignis( versionSpeichernMausEreignis );
-	f->addMember( speichern );
+	f->addMember( speichern->getThis() );
 
 	weiter = new Knopf();
 	weiter->setText( "" );
@@ -318,7 +318,7 @@ Version::Version( Schrift *s, MSKlient *msc, RessourceBild *rb, AdminAccount *ac
 	weiter->setSize( 20, 20 );
 	weiter->setMausEreignisParameter( this );
 	weiter->setMausEreignis( versionWeiterMausEreignis );
-	f->addMember( weiter );
+	f->addMember( weiter->getThis() );
 
 	sName = new Text( "" );
 	system = 0;
@@ -330,36 +330,6 @@ Version::Version( Schrift *s, MSKlient *msc, RessourceBild *rb, AdminAccount *ac
 // Destruktor
 Version::~Version()
 {
-	for( int i = 1; i < gruppeT->getZeilenAnzahl(); i++ )
-	{
-		( (TextFeld*)gruppeT->zZeichnung( 0, i ) )->release();
-		( (TextFeld*)gruppeT->zZeichnung( 1, i ) )->release();
-		( (TextFeld*)gruppeT->zZeichnung( 2, i ) )->release();
-		( (KontrollKnopf*)gruppeT->zZeichnung( 3, i ) )->release();
-	}
-	if( gruppeT->getZeilenAnzahl() )
-	{
-		( (TextFeld*)gruppeT->zZeichnung( 0, 0 ) )->release();
-		( (TextFeld*)gruppeT->zZeichnung( 1, 0 ) )->release();
-		( (TextFeld*)gruppeT->zZeichnung( 2, 0 ) )->release();
-	}
-	for( int i = 1; i < systemT->getZeilenAnzahl(); i++ )
-	{
-		( (TextFeld*)systemT->zZeichnung( 0, i ) )->release();
-		( (TextFeld*)systemT->zZeichnung( 1, i ) )->release();
-		( (KontrollKnopf*)systemT->zZeichnung( 2, i ) )->release();
-	}
-	if( systemT->getZeilenAnzahl() )
-	{
-		( (TextFeld*)systemT->zZeichnung( 0, 0 ) )->release();
-		( (TextFeld*)systemT->zZeichnung( 1, 0 ) )->release();
-	}
-	for( int i = 0; i < dateiT->getZeilenAnzahl(); i++ )
-	{
-		( (TextFeld*)dateiT->zZeichnung( 0, i ) )->release();
-		( (TextFeld*)dateiT->zZeichnung( 1, i ) )->release();
-		( (TextFeld*)dateiT->zZeichnung( 2, i ) )->release();
-	}
 	if( fenster )
 	{
 		fenster->removeMember( f );

+ 1 - 18
SMP/Render/Render.cpp

@@ -4,10 +4,10 @@
 // Inhalt der Render Klasse aus Render.h
 // Konstruktor
 Render::Render( Bildschirm *b )
+    : Thread()
 {
 	bildschirm = b;
 	beendet = 0;
-	ref = 1;
 }
 
 // Destruktor
@@ -40,21 +40,4 @@ void Render::beenden()
 {
 	beendet = 1;
 	warteAufThread( 1000 );
-}
-
-// constant
-
-// Reference Counting
-Render *Render::getThis()
-{
-	ref++;
-	return this;
-}
-
-Render *Render::release()
-{
-	ref--;
-	if( !ref )
-		delete this;
-	return 0;
 }

+ 0 - 5
SMP/Render/Render.h

@@ -11,7 +11,6 @@ class Render : public Thread
 private:
 	Bildschirm *bildschirm;
 	bool beendet;
-	int ref;
 
 public:
 	// Konstruktor
@@ -22,10 +21,6 @@ public:
 	virtual void thread();
 	void beenden();
 	// constant
-
-	// Reference Counting
-	Render *getThis();
-	Render *release();
 };
 
 #endif

+ 3 - 24
SMP/Start/Start.cpp

@@ -53,7 +53,6 @@ LadeBildschirm::LadeBildschirm( Schrift *s, InitDatei *d, WFenster *f )
 	schrift = s;
 	iD = d;
 	lF = f;
-	ref = 1;
 	start();
 }
 
@@ -94,7 +93,7 @@ void LadeBildschirm::thread()
 	lTF->setHintergrundFarbe( 0x88000000 );
 	lTF->setSchriftFarbe( 0xFFFFFFFF );
 	lTF->setRahmenFarbe( 0xFF808080 );
-	lB->addMember( lTF );
+	lB->addMember( lTF->getThis() );
 	lB->render();
 	lB->tick( 0 );
 	// Hintergrund laden
@@ -107,7 +106,7 @@ void LadeBildschirm::thread()
 	lBgB->setSize( 300, 150 );
 	bD->release();
 	// rendern
-	lB->removeMember( lTF );
+    lB->removeMember( lTF );
 	lB->addMember( lBgB );
 	lB->addMember( lTF );
 	lB->render();
@@ -125,7 +124,7 @@ void LadeBildschirm::thread()
 		LTDBDatei *ltdb = new LTDBDatei();
 		ltdb->setDatei( w->getTeilText( 0, w->positionVon( '/', w->anzahlVon( '/' ) - 1 ) ) );
 		ltdb->leseDaten( 0 );
-		bilder->add( lBD->zName( i )->getText(), ltdb->laden( 0, w->getTeilText( w->positionVon( '/', w->anzahlVon( '/' ) - 1 ) + 1 ) ) );
+		bilder->add( w->getText(), ltdb->laden( 0, w->getTeilText( w->positionVon( '/', w->anzahlVon( '/' ) - 1 ) + 1 ) ) );
 		ltdb->release();
 	}
 	lBD->release();
@@ -137,7 +136,6 @@ void LadeBildschirm::thread()
 		lTF->setText( lSD->zWert( i )->getText() );
 		lB->render();
 		lB->tick( 0 );
-		Text *w = lSD->zWert( i );
 		LTDSDatei *ltds = new LTDSDatei();
 		ltds->setPfad( lSD->getWert( i ) );
 		ltds->leseDaten();
@@ -146,10 +144,6 @@ void LadeBildschirm::thread()
 	}
 	lSD->release();
 	// Speicher freigeben
-	lB->removeMember( lBgB );
-	lB->removeMember( lTF );
-	lBgB->release();
-	lTF->release();
 	lF->setAnzeigeModus( 0 );
 	StopNachrichtenSchleife( lF->getFensterHandle() );
 	lF->zerstören();
@@ -168,21 +162,6 @@ RessourceSchrift *LadeBildschirm::getSchriften()
 	return schriften->getThis();
 }
 
-// reference Counting
-LadeBildschirm *LadeBildschirm::getThis()
-{
-	ref++;
-	return this;
-}
-
-LadeBildschirm *LadeBildschirm::release()
-{
-	ref--;
-	if( !ref )
-		delete this;
-	return 0;
-}
-
 // Start des Programms
 int KSGStart Framework::Start( Startparam p )
 {

+ 1 - 5
SMP/Start/Start.h

@@ -17,21 +17,17 @@ private:
 	WFenster *lF;
 	RessourceBild *bilder;
 	RessourceSchrift *schriften;
-	int ref;
 
 public:
 	// Konstruktor
 	LadeBildschirm( Schrift *s, InitDatei *d, WFenster *f );
 	// Destruktor
-	~LadeBildschirm();
+	virtual ~LadeBildschirm();
 	// nicht constant
 	virtual void thread();
 	// constant
 	RessourceBild *getBilder();
 	RessourceSchrift *getSchriften();
-	// reference Counting
-	LadeBildschirm *getThis();
-	LadeBildschirm *release();
 };
 
 #endif

BIN
SMP/framework.dll