<?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[WIN32 GUI project stürzt beim beenden ab??]]></title><description><![CDATA[<p>Hallo, es geht um folgendes Problem:</p>
<p>Ich habe ein WIN32 GUI project erstellt, das an sich sehr umfangreich ist, deswegen möchte ich hier keinen Quellcode posten. Generell geht es aber nur darum, die verschiedenen Logikgatter (AND, OR, NAND) dargestellt werden und auf Eingangssignale reagieren sollen. An sich funktioniert alles fehlerfrei, die Gatter werden richtig dargestellt und reagieren darauf, wenn ich die Signalquellen verändere. Da lässt sich das Programm auch normal schließen.<br />
Wenn ich ein weiteres Gatter hinzufüge, was wiederum Signale von vorgeschalteten Gattern erhält und dementsprechend umschaltet, funktioniert das auch einwandfrei.</p>
<p>Nur wenn ich jetzt die Benutzeroberfläche schließe, erscheint die Meldung:<br />
... .exe funktioniert nicht mehr. Es wird nach einer Lösung gesucht.</p>
<p>Habe bereits selbst schon mehrere Stunden investiert und bin vollkommen ratlos <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":/"
      alt="😕"
    /> ??? An besteht das Programm auch aus 8 Header- und 9 c++-Dateien...<br />
Mir ist klar, dass natürlich niemand jetzt wissen kann, woran der Fehler liegt, ich hätte nur gerne Ratschläge, wonach ich suchen muss, bzw. weis vllt. jemand warum der Fehler nur beim Schließen auftritt, obwohl alles eben so funktioniert, wie es soll?</p>
<p>MfG Pferd</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/322025/win32-gui-project-stürzt-beim-beenden-ab</link><generator>RSS for Node</generator><lastBuildDate>Sat, 18 Jul 2026 18:53:28 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/322025.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 03 Dec 2013 19:35:11 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to WIN32 GUI project stürzt beim beenden ab?? on Tue, 03 Dec 2013 19:35:11 GMT]]></title><description><![CDATA[<p>Hallo, es geht um folgendes Problem:</p>
<p>Ich habe ein WIN32 GUI project erstellt, das an sich sehr umfangreich ist, deswegen möchte ich hier keinen Quellcode posten. Generell geht es aber nur darum, die verschiedenen Logikgatter (AND, OR, NAND) dargestellt werden und auf Eingangssignale reagieren sollen. An sich funktioniert alles fehlerfrei, die Gatter werden richtig dargestellt und reagieren darauf, wenn ich die Signalquellen verändere. Da lässt sich das Programm auch normal schließen.<br />
Wenn ich ein weiteres Gatter hinzufüge, was wiederum Signale von vorgeschalteten Gattern erhält und dementsprechend umschaltet, funktioniert das auch einwandfrei.</p>
<p>Nur wenn ich jetzt die Benutzeroberfläche schließe, erscheint die Meldung:<br />
... .exe funktioniert nicht mehr. Es wird nach einer Lösung gesucht.</p>
<p>Habe bereits selbst schon mehrere Stunden investiert und bin vollkommen ratlos <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":/"
      alt="😕"
    /> ??? An besteht das Programm auch aus 8 Header- und 9 c++-Dateien...<br />
Mir ist klar, dass natürlich niemand jetzt wissen kann, woran der Fehler liegt, ich hätte nur gerne Ratschläge, wonach ich suchen muss, bzw. weis vllt. jemand warum der Fehler nur beim Schließen auftritt, obwohl alles eben so funktioniert, wie es soll?</p>
<p>MfG Pferd</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2369599</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2369599</guid><dc:creator><![CDATA[Pferdmann]]></dc:creator><pubDate>Tue, 03 Dec 2013 19:35:11 GMT</pubDate></item><item><title><![CDATA[Reply to WIN32 GUI project stürzt beim beenden ab?? on Tue, 03 Dec 2013 19:44:28 GMT]]></title><description><![CDATA[<p>Schreib delete[] anstatt delete um Arrays freizugeben.<br />
Wenns daran lagt, haste was falsch gemacht.<br />
Man verwaltet in modernem C++ nicht mehr manuell Speicher, wie du siehst geht das nämlich schief.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2369601</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2369601</guid><dc:creator><![CDATA[Nathan]]></dc:creator><pubDate>Tue, 03 Dec 2013 19:44:28 GMT</pubDate></item><item><title><![CDATA[Reply to WIN32 GUI project stürzt beim beenden ab?? on Tue, 03 Dec 2013 20:06:52 GMT]]></title><description><![CDATA[<p>Was sagt denn der Debugger?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2369603</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2369603</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Tue, 03 Dec 2013 20:06:52 GMT</pubDate></item><item><title><![CDATA[Reply to WIN32 GUI project stürzt beim beenden ab?? on Tue, 03 Dec 2013 20:37:42 GMT]]></title><description><![CDATA[<p>Also habe mal pauschal alle delete in delete[] umgewandelt, also auch die, eigentlich pointer freigeben sollen. Nun kommt nach dem Schließen keine Fehlermeldung mehr, aber die Konsole zeigt auch nicht den normalen Text (&quot;Process stopped...&quot; oder so) an. Der debugger meldet an sich gar keinen Fehler, bzw. warnings...</p>
<p>Mir ist gerade noch aufgefallen, dass wenn das zusätzlich Gatter mit dazu kommt, in den jeweiligen anderen ein Teil des Textes verschwindet <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /><br />
mal schaun, warum das schon wieder passiert...<br />
-&gt;<br />
Ok der Fehler ist gefunden und behoben <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2369608</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2369608</guid><dc:creator><![CDATA[Pferdmann]]></dc:creator><pubDate>Tue, 03 Dec 2013 20:37:42 GMT</pubDate></item><item><title><![CDATA[Reply to WIN32 GUI project stürzt beim beenden ab?? on Tue, 03 Dec 2013 20:49:57 GMT]]></title><description><![CDATA[<p>Pferdmann schrieb:</p>
<blockquote>
<p>Also habe mal pauschal alle delete in delete[] umgewandelt, also auch die, eigentlich pointer freigeben sollen.</p>
</blockquote>
<p>Mach es richtig. Es ist ganz einfach: <code>delete</code> folgt auf <code>new</code> , <code>delete[]</code> auf <code>new[]</code> . Nie mischen.</p>
<p>Besser wäre sowieso, RAII zu verwenden. In modernem C++ verwendet man praktisch nie manuelle Speicherverwaltung mit <code>new</code> / <code>delete</code> .</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2369612</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2369612</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 03 Dec 2013 20:49:57 GMT</pubDate></item><item><title><![CDATA[Reply to WIN32 GUI project stürzt beim beenden ab?? on Tue, 03 Dec 2013 21:09:32 GMT]]></title><description><![CDATA[<p>Pferdmann schrieb:</p>
<blockquote>
<p>Also habe mal pauschal alle delete in delete[] umgewandelt, also auch die, eigentlich pointer freigeben sollen.</p>
</blockquote>
<p>Genial. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
<blockquote>
<p>Nun kommt nach dem Schließen keine Fehlermeldung mehr, aber die Konsole zeigt auch nicht den normalen Text (&quot;Process stopped...&quot; oder so) an. Der debugger meldet an sich gar keinen Fehler, bzw. warnings...</p>
</blockquote>
<p>Das ist auch nicht seine Aufgabe, die Fehlermeldungen kommen vom Compiler oder Linker. Der Debugger ist dazu da, das Programm während der Ausführung zu stoppen, schrittweise ablaufen zu lassen und dabei den Speicher zu untersuchen. Damit findet man auch solche Fehler.</p>
<p>Gratulation übrigens, dass du es so weit ohne Debugger geschafft hast!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2369616</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2369616</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Tue, 03 Dec 2013 21:09:32 GMT</pubDate></item><item><title><![CDATA[Reply to WIN32 GUI project stürzt beim beenden ab?? on Tue, 03 Dec 2013 21:43:16 GMT]]></title><description><![CDATA[<p>Ok habe das jetzt noch mal mit dem Debugger versucht und alle delete so geschreiben, wie sichs gehört.<br />
Ich bekomme beim schließen folgende meldung in einem Kasten (Call Stack) angezeigt:</p>
<p>#0 7702E3BE ntdll!LdrVerifyImageMatchesChecksumEx(<br />
(C:\Windows\system32\ntdll.dll:??)<br />
#1 ?? ?? () (??:??)</p>
<p>und unten rechts fährt ein kleines Fenster hoch, das meldet:<br />
Program received signal SIGSEGV, Segmentation fault</p>
<p>damit kann ich nur nicht viel anfangen...</p>
<p>ich hätte noch zusätzlich mal eine frage:<br />
angenommen ich habe eine Klasse A, die auf einer Basisklasse B basiert.<br />
Nun habe ich in einer Funktion (innerhalb der Klasse <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f60e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--smiling_face_with_sunglasses"
      title="B)"
      alt="😎"
    /> als Parameter einen Pointer auf die Basisklasse B. Kann ich dann auch einen Pointer der &quot;normalen&quot; Klasse A übergeben? Scheint zu funktionieren, ich verstehe nur nicht, warum, bzw. frage ich mich, ob da der Fehler liegt??</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2369625</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2369625</guid><dc:creator><![CDATA[Pferdmann]]></dc:creator><pubDate>Tue, 03 Dec 2013 21:43:16 GMT</pubDate></item><item><title><![CDATA[Reply to WIN32 GUI project stürzt beim beenden ab?? on Wed, 04 Dec 2013 13:52:37 GMT]]></title><description><![CDATA[<p>Zu Deiner zusätzlichen Frage: Wenn Du eine abstrakte Basisklasse &quot;Lebewesen&quot; und davon abgeleitete konkrete Klassen &quot;Mensch&quot; und &quot;Tier&quot; hast, kannst Du dir vorstellen, das ein Zeiger auf &quot;Lebewesen&quot; immer auf einen &quot;Mensch&quot; oder ein &quot;Tier&quot; zeigen muss, da ja ein &quot;Lebewesen&quot; nicht als Objekt erstellt werden kann, ist ja abstrakt. Das ist etwas Grundsätzliches in der objektorientierten Softwareentwicklung.</p>
<p>Da Du in dieser Hinsicht noch unsicher bist, kann es ja sein, dass Du bei der Ableitung von Klasse &quot;A&quot; etwas machst, was zu einem Absturz führt. Ist z.B. der Destruktor virtuell? Sollte er sein, damit bei einem &quot;B&quot;-Zeiger auf ein &quot;A&quot; beim löschen (delete) auch der Destruktor von &quot;A&quot; abgearbeitet wird.<br />
Wenn Du virtuelle Methoden hast, rufe diese erstmal nicht in einem Konstruktor oder Destruktor auf. Destruktoren werden (bei nicht virtueller Vererbung) in der Regel von Unterklassen zuerst und dann von der nächsten Oberklasse in Richtung Basisklasse abgearbeitet. Konstruktoren von der Basisklasse in Richtung der Unterklassen.</p>
<p>Beispiel: Basisklasse &quot;B&quot; hat eine virtuelle Methode 'tuWas()' welche im Destruktor aufgerufen wird. In abgeleiteter Klasse &quot;A&quot; wird die Methode 'tuWas()' überschrieben und greift auf Daten von Klasse &quot;A&quot; zu. Wenn jetzt beim löschen von einem Objekt des Typs &quot;A&quot; zuerst der Destruktor aufgerufen wird, welcher alles aufräumt, was &quot;A&quot; betrifft und jetzt im folgenden Aufruf des Destruktors von &quot;B&quot; durch den Aufruf der virtualen Methode 'tuWas()' in &quot;A&quot; auf Daten vom KAPUTTEN &quot;A&quot; zugegriffen wird…..!</p>
<p>Gruß Helmut</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2369733</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2369733</guid><dc:creator><![CDATA[Helmut.Jakoby]]></dc:creator><pubDate>Wed, 04 Dec 2013 13:52:37 GMT</pubDate></item><item><title><![CDATA[Reply to WIN32 GUI project stürzt beim beenden ab?? on Wed, 04 Dec 2013 16:53:22 GMT]]></title><description><![CDATA[<p>Also in Klasse B werden nur im Konstruktor Pointer erzeugt, auf denen wiederum die Adressen anderer Objekte der Klasse A gespeichert werden.<br />
Habe nun den Inhalt des Desktruktors der Klasse B in Klasse A verschoben, da das ja an sich kein Problem sein sollte?? (In dem Destruktor wird nur der Speicherplatz der Pointer freigegeben...)<br />
Mit Hilfe von printf habe ich nun festgestellt, dass nun alle Destruktoren aufgerufen werden (davor wurde nur der, des als letztes initialisiertes Objekts aufgerufen, danach kam die Fehlermeldung), aber jetzt ist wieder etwas komisch--&gt;</p>
<p>Konstruktor Gatter<br />
Konstruktor Gatter<br />
Konstruktor Gatter<br />
Konstruktor Gatter<br />
Konstruktor Gatter<br />
Konstruktor Gatter<br />
Konstruktor Gatter<br />
______Konstruktor Oder<br />
Konstruktor Gatter<br />
_______Konstruktor UNd<br />
Konstruktor Gatter<br />
________Konstruktor Nand<br />
Konstruktor Gatter<br />
_______Konstruktor UNd<br />
Konstruktor Gatter<br />
________Konstruktor Nand<br />
Konstruktor Gatter<br />
______Konstruktor Oder<br />
________Desktruktor Oder<br />
Desktruktor GAtter<br />
Desktruktor GAtter<br />
Desktruktor GAtter<br />
_______Desktruktor Nand<br />
Desktruktor GAtter<br />
Desktruktor GAtter<br />
Desktruktor GAtter<br />
________Desktruktor Und<br />
Desktruktor GAtter<br />
Desktruktor GAtter<br />
Desktruktor GAtter<br />
_______Desktruktor Nand<br />
Desktruktor GAtter<br />
Desktruktor GAtter<br />
Desktruktor GAtter<br />
________Desktruktor Und<br />
Desktruktor GAtter<br />
Desktruktor GAtter<br />
Desktruktor GAtter<br />
________Desktruktor Oder<br />
Desktruktor GAtter<br />
Desktruktor GAtter<br />
Desktruktor GAtter</p>
<p>(Fehlermeldung erscheint jetzt!)</p>
<p>Process returned -1073741819 (0xC0000005) execution time : 6.220 s<br />
Press any key to continue.</p>
<p>Warum wird der Gatterdestruktor jetzt immer drei mal aufgerufen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2369806</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2369806</guid><dc:creator><![CDATA[Pferdmann]]></dc:creator><pubDate>Wed, 04 Dec 2013 16:53:22 GMT</pubDate></item><item><title><![CDATA[Reply to WIN32 GUI project stürzt beim beenden ab?? on Wed, 04 Dec 2013 17:07:26 GMT]]></title><description><![CDATA[<p>Zeig mal Code! Hast du auch dran gedacht, eine Ausgabe im Kopierkonstruktor einzubauen? Das sind doch sehr viele Destruktoraufrufe für so wenige Konstruktionen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2369811</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2369811</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 04 Dec 2013 17:07:26 GMT</pubDate></item><item><title><![CDATA[Reply to WIN32 GUI project stürzt beim beenden ab?? on Wed, 04 Dec 2013 17:28:00 GMT]]></title><description><![CDATA[<p>Also das mit dem Code will ich eigentlich niemandem antun, da es allein zwei lange Header- und zwei viel längere c++ Dateien sin, auf die es bei dem Problem, glaube ich ankommt. Falls du drauf bestehst, kann ichs dir aber gerne schicken <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /><br />
Also einen Copy-Konstruktor gibt es schon, aber der wird in dieser Version, des Programms nicht verwendet. Den kann man auch rauslöschen, es läuft trotzdem und das Problem tritt immer noch auf....</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2369819</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2369819</guid><dc:creator><![CDATA[Pferdmann]]></dc:creator><pubDate>Wed, 04 Dec 2013 17:28:00 GMT</pubDate></item><item><title><![CDATA[Reply to WIN32 GUI project stürzt beim beenden ab?? on Wed, 04 Dec 2013 17:37:37 GMT]]></title><description><![CDATA[<p>Pferdmann schrieb:</p>
<blockquote>
<p>Also einen Copy-Konstruktor gibt es schon, aber der wird in dieser Version, des Programms nicht verwendet.</p>
</blockquote>
<p>Oh doch.</p>
<blockquote>
<p>Den kann man auch rauslöschen, es läuft trotzdem und das Problem tritt immer noch auf....</p>
</blockquote>
<p>Mach ihn mal private und staune <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> . Siehe:<br />
<a href="http://en.wikipedia.org/wiki/Special_member_functions" rel="nofollow">http://en.wikipedia.org/wiki/Special_member_functions</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2369824</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2369824</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 04 Dec 2013 17:37:37 GMT</pubDate></item><item><title><![CDATA[Reply to WIN32 GUI project stürzt beim beenden ab?? on Wed, 04 Dec 2013 17:57:19 GMT]]></title><description><![CDATA[<p>Aber wenn ich beim Kopierkonstruktor eine printfanweisung reinschreibe, kriege ich bei der Konsole trotzdem keine Augabe und ob der Kopierkonstruktor public oder private is, macht an sich keinen Unterschied, bzw. meckert der Compiler halt nich...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2369833</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2369833</guid><dc:creator><![CDATA[Pferdmann]]></dc:creator><pubDate>Wed, 04 Dec 2013 17:57:19 GMT</pubDate></item><item><title><![CDATA[Reply to WIN32 GUI project stürzt beim beenden ab?? on Wed, 04 Dec 2013 21:06:29 GMT]]></title><description><![CDATA[<p>Dann können wir bloß weiter rum raten. Das will wohl niemand. Entweder kannst du das Problem auf ein präsentierbares Minimalbeispiel herunterbrechen (siehe: <a href="http://www.c-plusplus.net/forum/304133" rel="nofollow">http://www.c-plusplus.net/forum/304133</a> ) oder du musst eben selber debuggen. Es dürfte übrigens auch mit an Sicherheit grenzender Wahrscheinlichkeit funktionieren, wenn du den gesamten Code umschreibst unter der Berücksichtigung von Nathans Kommentar bezüglich modernem C++.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2369865</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2369865</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 04 Dec 2013 21:06:29 GMT</pubDate></item><item><title><![CDATA[Reply to WIN32 GUI project stürzt beim beenden ab?? on Thu, 05 Dec 2013 06:43:53 GMT]]></title><description><![CDATA[<p>Also, habe nun noch mal komplet alle Destruktoren durchgesehen und tatsächlich bei einer Datei vergessen, diesen zu überprüfen (hab diese immer übersehen, erst zum Schluss is mir eingefallen, dass ich die noch nich angeschaut habe) und es lag an den [], also das Problem war, dass da welche waren, aber es nur ein Pointer war, dessen Adresse gelöscht werden sollte.</p>
<p>Auf jeden Fall geht es jetzt, danke an alle, für eure Ratschläge <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2369886</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2369886</guid><dc:creator><![CDATA[Pferdmann]]></dc:creator><pubDate>Thu, 05 Dec 2013 06:43:53 GMT</pubDate></item></channel></rss>