<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Probleme beim Löschen von einträgen in einer Listbox]]></title><description><![CDATA[<p>Hallo,<br />
bin dabei für ein schulprojekt einen Chat zu schreiben und habe nun ein Problem und zwar habe ich eine Listbox (lbUser) in der alle angemeldeten User stehen. Sobald einer dieser User disconnectet soll der Benutzername aus der lbUser verschwinden.<br />
Aber jedesmal bekomme ich einen Stacküberlauf sobald ich den Code ausführe.</p>
<pre><code class="language-cpp">int tPos = uMSG.Length();
        AnsiString tNick = uMSG.SubString(2,tPos);
        /*  Löschen des Nicks wenn der Client
            die Verbindung schließt
        if(lbUser-&gt;ItemIndex &gt;= 0)  // Unbedingt abfragen !!!
        {
        int testi;
        testi=lbUser-&gt;Items-&gt;IndexOf(&quot;User1&quot;);
        lbUser-&gt;Items-&gt;Delete(lbUser-&gt;ItemIndex);//testi);
        //lbUser-&gt;ItemIndex);
        }
        //lbUser-&gt;Items-&gt;Add(tNick);
        /*
        if (testi!=-1)
        {
          lbUser-&gt;Items-&gt;Delete(testi);
        }*/
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/131055/probleme-beim-löschen-von-einträgen-in-einer-listbox</link><generator>RSS for Node</generator><lastBuildDate>Thu, 30 Jul 2026 09:50:02 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/131055.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 30 Dec 2005 14:39:42 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Probleme beim Löschen von einträgen in einer Listbox on Fri, 30 Dec 2005 14:39:42 GMT]]></title><description><![CDATA[<p>Hallo,<br />
bin dabei für ein schulprojekt einen Chat zu schreiben und habe nun ein Problem und zwar habe ich eine Listbox (lbUser) in der alle angemeldeten User stehen. Sobald einer dieser User disconnectet soll der Benutzername aus der lbUser verschwinden.<br />
Aber jedesmal bekomme ich einen Stacküberlauf sobald ich den Code ausführe.</p>
<pre><code class="language-cpp">int tPos = uMSG.Length();
        AnsiString tNick = uMSG.SubString(2,tPos);
        /*  Löschen des Nicks wenn der Client
            die Verbindung schließt
        if(lbUser-&gt;ItemIndex &gt;= 0)  // Unbedingt abfragen !!!
        {
        int testi;
        testi=lbUser-&gt;Items-&gt;IndexOf(&quot;User1&quot;);
        lbUser-&gt;Items-&gt;Delete(lbUser-&gt;ItemIndex);//testi);
        //lbUser-&gt;ItemIndex);
        }
        //lbUser-&gt;Items-&gt;Add(tNick);
        /*
        if (testi!=-1)
        {
          lbUser-&gt;Items-&gt;Delete(testi);
        }*/
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/952801</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/952801</guid><dc:creator><![CDATA[CrashOverride]]></dc:creator><pubDate>Fri, 30 Dec 2005 14:39:42 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim Löschen von einträgen in einer Listbox on Fri, 30 Dec 2005 14:46:21 GMT]]></title><description><![CDATA[<p>Welche Code?</p>
<p>Grundsätzlich:</p>
<p>ItemIndex ist der ausgewählte, in der Listbox markierte User</p>
<p>testi ist der in der Liste gefundene User</p>
<p>Du löscht nun den ausgewählten, der muss mit testi nicht identisch sein.</p>
<p>Wäre mals sinnvoll, den Code nicht als Kommentar mit dem Debugger durchzugehen und dann die Stelle zu lokalisieren wo der Fehler auftritt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/952820</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/952820</guid><dc:creator><![CDATA[Christian211]]></dc:creator><pubDate>Fri, 30 Dec 2005 14:46:21 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim Löschen von einträgen in einer Listbox on Fri, 30 Dec 2005 14:57:03 GMT]]></title><description><![CDATA[<p>ähm ja war nur kommentier da ich auch noch dabei bin den clienten weiter aufzubauen und da brauch ich nen server der nicht abschmiert.<br />
Um das ganze etwas zu verdeutlichen.<br />
in lbUser steht meinetwegen:<br />
User1<br />
User2<br />
User3<br />
so nun beendet User1 die verbindung und muss somit aus lbUser verschwinden um den Nick wieder freizugeben.<br />
Aber sobald ich den User lösche bekomme ich nen stack überlauf.<br />
Habe auch schon gegoogelt und diverse Foren durchsucht nur leider nicht wirklich brauchbares gefunden.</p>
<pre><code class="language-cpp">int tPos = uMSG.Length();
AnsiString tNick = uMSG.SubString(2,tPos);
/*  Löschen des Nicks wenn der Client
    die Verbindung schließt */

        if(lbUser-&gt;ItemIndex &gt;= 0)  // Unbedingt abfragen !!!
        {
        int testi;
        testi=lbUser-&gt;Items-&gt;IndexOf(&quot;User1&quot;); // &quot;User1&quot; später ersetzen durch
                                               // tNick
        lbUser-&gt;Items-&gt;Delete(testi);
        }
</code></pre>
<p>Ahso der fehler tritt immer auf sobald er User1 löschen soll also bei lbUser-&gt;Items-&gt;Delete(testi);</p>
]]></description><link>https://www.c-plusplus.net/forum/post/952829</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/952829</guid><dc:creator><![CDATA[CrashOverride]]></dc:creator><pubDate>Fri, 30 Dec 2005 14:57:03 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim Löschen von einträgen in einer Listbox on Fri, 30 Dec 2005 15:11:15 GMT]]></title><description><![CDATA[<p>Kann nichts falsches sehen.</p>
<p>ggf. maile mir das Projekt mal zu</p>
<p><a href="mailto:cecke@marquardtnet.info" rel="nofollow">cecke@marquardtnet.info</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/952840</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/952840</guid><dc:creator><![CDATA[Christian211]]></dc:creator><pubDate>Fri, 30 Dec 2005 15:11:15 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim Löschen von einträgen in einer Listbox on Fri, 30 Dec 2005 15:16:07 GMT]]></title><description><![CDATA[<p>hab ich getan schonmal danke im voraus für deine hilfe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/952845</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/952845</guid><dc:creator><![CDATA[CrashOverride]]></dc:creator><pubDate>Fri, 30 Dec 2005 15:16:07 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim Löschen von einträgen in einer Listbox on Fri, 30 Dec 2005 16:00:48 GMT]]></title><description><![CDATA[<p>Also soweitso gut hab nun das problem: sobald man disconnectet wird user hinzugefügt und nicht gelöscht:</p>
<p>z.b.:<br />
Server<br />
User1<br />
User1 // wird nachdem disconnect hinzugefügt obwohl der gelöscht werden sollte</p>
<pre><code class="language-cpp">AnzUser = idServer-&gt;Socket-&gt;ActiveConnections;

  if ( AnzUser &gt;= 1)
  {
    for ( int Lauf = 1;Lauf &lt;= AnzUser; Lauf++)
    {
      AnsiString uMSG = idServer-&gt;Socket-&gt;Connections[(Lauf-1)]-&gt;ReceiveText();
      AnsiString tTest = uMSG.SubString(1,1);

      if (tTest == 0)
      {
        int tPos = uMSG.Length();
        AnsiString tNick = uMSG.SubString(2,tPos);

        /*  Löschen des Nicks wenn der Client
            die Verbindung schließt */

        if(lbUser-&gt;ItemIndex &gt;= 0)  // Unbedingt abfragen !!!
        {
        int testi;
        testi=lbUser-&gt;Items-&gt;IndexOf(&quot;User1&quot;);
        lbUser-&gt;Items-&gt;Delete(testi);
        }
      }
      else if (tTest == 1 || tTest ==2)
      {
        int t1Pos = uMSG.Length();
        AnsiString u1MSG = uMSG.SubString(2,t1Pos);
        reChat-&gt;Lines-&gt;Add(u1MSG);
      }
    }
  }
</code></pre>
<p>Und sollte nach dem disconnect eigentlich so aussehn:<br />
Server</p>
<p>Den kompletten SourceCode könnt ihr HIER →<a href="http://web32.w3profiler.com/files/CServerSourceCode.zip" rel="nofollow">http://web32.w3profiler.com/files/CServerSourceCode.zip</a> runterladen</p>
<p>Hat jemand nen rat?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/952892</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/952892</guid><dc:creator><![CDATA[CrashOverride]]></dc:creator><pubDate>Fri, 30 Dec 2005 16:00:48 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim Löschen von einträgen in einer Listbox on Fri, 30 Dec 2005 16:03:47 GMT]]></title><description><![CDATA[<p>Der Sourcecode des Server nützt nichts, wenn man nicht den Client zum testen hat. Wie soll also die Routine angesprungen werden?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/952900</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/952900</guid><dc:creator><![CDATA[Christian211]]></dc:creator><pubDate>Fri, 30 Dec 2005 16:03:47 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim Löschen von einträgen in einer Listbox on Fri, 30 Dec 2005 16:10:27 GMT]]></title><description><![CDATA[<p>arg mein fehler hier der link zum SourceCode vom Clienten.<br />
<a href="http://web32.w3profiler.com/files/CClientSourceCode.rar" rel="nofollow">http://web32.w3profiler.com/files/CClientSourceCode.rar</a></p>
<p>Noch ne kleine Info der Server läuft auf Port 40000 Unter Optionen kann man den Port einstellen aber die buttons ok cancel funktioniern noch nicht und man muss um ein usernamen in der server listbox zu adden noch kurz vorher nen text abschicken mt dem clienten ach und nichts vom server aus senden funtzt noch nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/952902</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/952902</guid><dc:creator><![CDATA[CrashOverride]]></dc:creator><pubDate>Fri, 30 Dec 2005 16:10:27 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim Löschen von einträgen in einer Listbox on Fri, 30 Dec 2005 16:29:02 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">void __fastcall TfrmMain::idServerClientConnect(TObject *Sender,
      TCustomWinSocket *Socket)
{
  AnzUser = idServer-&gt;Socket-&gt;ActiveConnections;
  int UserID = lbUser-&gt;Items-&gt;Count;

  for (int Lauf = 1; Lauf &lt;= UserID; Lauf++)
  {
    for (int Lauf1 = 1; Lauf1 &lt;= AnzUser; Lauf1++)
    {
      idServer-&gt;Socket-&gt;Connections[Lauf1-1]-&gt;SendText(&quot;0&quot;
      +lbUser-&gt;Items-&gt;Strings[Lauf-1]);
    }
  }
}
</code></pre>
<p>Du nimmst doch auch keinen User in die Liste auf, wenn er sich connectet</p>
]]></description><link>https://www.c-plusplus.net/forum/post/952916</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/952916</guid><dc:creator><![CDATA[Christian211]]></dc:creator><pubDate>Fri, 30 Dec 2005 16:29:02 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim Löschen von einträgen in einer Listbox on Fri, 30 Dec 2005 16:33:31 GMT]]></title><description><![CDATA[<p>DochDoch das Passiert erst sobald der User ne Nachricht an den Server schickt ich weis is im mom nicht gut gelöstist kommt später aber so das wenn der client sich verbindet direkt den nick wegschickt und der server denn dann addet</p>
<p>hast du skype oder teamspeak glaube is einfacher das darüber zu machen oder icq?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/952920</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/952920</guid><dc:creator><![CDATA[CrashOverride]]></dc:creator><pubDate>Fri, 30 Dec 2005 16:33:31 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim Löschen von einträgen in einer Listbox on Fri, 30 Dec 2005 17:29:36 GMT]]></title><description><![CDATA[<p>Bei mir wird nie ein User in der Listbox gezeigt, auch wenn ich einen String esandt habe, der wohl angezeigt wird</p>
<blockquote>
<p>skype oder teamspeak glaube is einfacher das darüber zu machen oder icq</p>
</blockquote>
<p>habe ich alles nicht</p>
]]></description><link>https://www.c-plusplus.net/forum/post/952979</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/952979</guid><dc:creator><![CDATA[Christian211]]></dc:creator><pubDate>Fri, 30 Dec 2005 17:29:36 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim Löschen von einträgen in einer Listbox on Fri, 30 Dec 2005 18:02:09 GMT]]></title><description><![CDATA[<p>Schau in meiner Mail nach</p>
]]></description><link>https://www.c-plusplus.net/forum/post/953010</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/953010</guid><dc:creator><![CDATA[Christian211]]></dc:creator><pubDate>Fri, 30 Dec 2005 18:02:09 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim Löschen von einträgen in einer Listbox on Mon, 02 Jan 2006 04:16:06 GMT]]></title><description><![CDATA[<p>jo besten dank das läuft jetzt endlich danke für die schnelle hilfe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/954419</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/954419</guid><dc:creator><![CDATA[CrashOverride]]></dc:creator><pubDate>Mon, 02 Jan 2006 04:16:06 GMT</pubDate></item></channel></rss>