<?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[CFileDialog gibt ne Access Violation]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich hab da ein Problem, dass ich eigentlich nicht haben dürfte... <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 />
Ich will innerhalb einer Funktion ein File-Öffnen-Dialog öffnen, wo man sich<br />
ne Datei auswählt und erst mal den Dateinamen in ne CString reingespeichert<br />
wird.<br />
Das funktioniert ganz gut, bis man OK oder Abbrechen drückt, dann gibts ne<br />
Access-Violation.<br />
Ich weiss nicht warum, ich habs schon mit verschiedenen Initialisierungen von<br />
CFileDialog versucht -&gt; immer das Gleiche.<br />
Hat da jemand von Euch das gleiche Prob schonmal gehabt und ne Lösung gefunden?</p>
<p>vg, marco!</p>
<pre><code class="language-cpp">bool CMeinDialog::Dateipfad()
{	
	CString filename;	
	CFileDialog FileDialog(TRUE);

	if (FileDialog.DoModal() == IDOK)
	{    
	  filename = FileDialog.GetFileName();   
	}

    return TRUE;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/83883/cfiledialog-gibt-ne-access-violation</link><generator>RSS for Node</generator><lastBuildDate>Mon, 13 Apr 2026 00:43:59 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/83883.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 25 Aug 2004 11:18:17 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to CFileDialog gibt ne Access Violation on Wed, 25 Aug 2004 11:18:17 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich hab da ein Problem, dass ich eigentlich nicht haben dürfte... <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 />
Ich will innerhalb einer Funktion ein File-Öffnen-Dialog öffnen, wo man sich<br />
ne Datei auswählt und erst mal den Dateinamen in ne CString reingespeichert<br />
wird.<br />
Das funktioniert ganz gut, bis man OK oder Abbrechen drückt, dann gibts ne<br />
Access-Violation.<br />
Ich weiss nicht warum, ich habs schon mit verschiedenen Initialisierungen von<br />
CFileDialog versucht -&gt; immer das Gleiche.<br />
Hat da jemand von Euch das gleiche Prob schonmal gehabt und ne Lösung gefunden?</p>
<p>vg, marco!</p>
<pre><code class="language-cpp">bool CMeinDialog::Dateipfad()
{	
	CString filename;	
	CFileDialog FileDialog(TRUE);

	if (FileDialog.DoModal() == IDOK)
	{    
	  filename = FileDialog.GetFileName();   
	}

    return TRUE;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/590753</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/590753</guid><dc:creator><![CDATA[Bummsfallera]]></dc:creator><pubDate>Wed, 25 Aug 2004 11:18:17 GMT</pubDate></item><item><title><![CDATA[Reply to CFileDialog gibt ne Access Violation on Wed, 25 Aug 2004 12:05:36 GMT]]></title><description><![CDATA[<p>Wenn das Programm im Debugger laufen lässt, wo stehst du denn bei der AccessViolation? Also welches ASSERT funktioniert nicht?<br />
Oft gib's dort einen Hinweis auf das Problem.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/590790</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/590790</guid><dc:creator><![CDATA[Uwe Philipps]]></dc:creator><pubDate>Wed, 25 Aug 2004 12:05:36 GMT</pubDate></item><item><title><![CDATA[Reply to CFileDialog gibt ne Access Violation on Wed, 25 Aug 2004 12:13:43 GMT]]></title><description><![CDATA[<p>beim Debug-Erstellmodus geht alles einwandfrei.<br />
beim Release öffnet er den Dialog, mann kann ne Datei auswählen<br />
und er gibt den Filenamen auch korrekt in der MessageBox an, macht<br />
danach allerdings die Grätsche <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /> .<br />
Hier, was ich geändert habe, damit du weisst wovon ich rede:</p>
<pre><code class="language-cpp">CString filename;	
	CFileDialog FileDialog(TRUE);
	DWORD result;
	result = FileDialog.DoModal();

	if (result == IDOK)
	{   		
		filename = FileDialog.GetFileName();
		AfxMessageBox(filename);
	}
	else if(result == IDCANCEL)
	{
		AfxMessageBox(&quot;Abbrechen wurde gewählt&quot;);
	}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/590800</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/590800</guid><dc:creator><![CDATA[Bummsfallera]]></dc:creator><pubDate>Wed, 25 Aug 2004 12:13:43 GMT</pubDate></item><item><title><![CDATA[Reply to CFileDialog gibt ne Access Violation on Wed, 25 Aug 2004 12:24:41 GMT]]></title><description><![CDATA[<p>in der Violation steht:</p>
<blockquote>
<p>Unbehandelte Ausnahme in MeinProg.exe (KERNEL32.DLL): 0x0000005: Access Violation</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/590822</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/590822</guid><dc:creator><![CDATA[Bummsfallera]]></dc:creator><pubDate>Wed, 25 Aug 2004 12:24:41 GMT</pubDate></item><item><title><![CDATA[Reply to CFileDialog gibt ne Access Violation on Wed, 25 Aug 2004 12:33:28 GMT]]></title><description><![CDATA[<p>Achso - ich habe &quot;ASSERT&quot; gelesen, wo &quot;Access&quot; stand....</p>
<p>Also mit diesem Stück Code ist alles in Ordnung.<br />
Die Frage ist, was passiert noch alles mit FileDialog und filename?</p>
<p>Aber wenn ein Programm freundlicherweise nur in der Release-Version abstürzt, liegt das oft daran, dass irgendwo Speicher überschrieben wird. Vielleicht uninitialisierter Pointer oder so was.</p>
<p>Du kannst auch die Releaseversion mit Debuginformation kompilieren, dann gibt's wegen des Optimizers zwar manchmal merkwürdige Debugpositionen und Variableninhalte, aber es hilft ein wenig bei der Fehlersuche.</p>
<p>Oder du überspringst Programmteile, die eventuell Probleme machen, um die Stelle einzukreisen, wo Speicher überschrieben werden könnte.</p>
<p>Oder du streust noch 'ne Menge MessageBoxes in den Code, um dich an die Problemstelle ranzutasten.</p>
<p>Auf jeden Fall - Fehlersuche in der Release-Version ist immer eine lästige Sache. Viel Erfolg!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/590833</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/590833</guid><dc:creator><![CDATA[Uwe Philipps]]></dc:creator><pubDate>Wed, 25 Aug 2004 12:33:28 GMT</pubDate></item><item><title><![CDATA[Reply to CFileDialog gibt ne Access Violation on Wed, 25 Aug 2004 12:37:40 GMT]]></title><description><![CDATA[<p>lol, na danke <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/590843</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/590843</guid><dc:creator><![CDATA[Bummsfallera]]></dc:creator><pubDate>Wed, 25 Aug 2004 12:37:40 GMT</pubDate></item><item><title><![CDATA[Reply to CFileDialog gibt ne Access Violation on Wed, 25 Aug 2004 12:39:28 GMT]]></title><description><![CDATA[<p>gibts da vielleicht noch ne andere möglichkeit, als diesen Dialog zu verwenden<br />
(ich bin zu faul zum suchen *rofl*)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/590847</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/590847</guid><dc:creator><![CDATA[Bummsfallera]]></dc:creator><pubDate>Wed, 25 Aug 2004 12:39:28 GMT</pubDate></item><item><title><![CDATA[Reply to CFileDialog gibt ne Access Violation on Wed, 25 Aug 2004 12:58:03 GMT]]></title><description><![CDATA[<p>Hallo!!!</p>
<p>Ich hab den Fehler gefunden!!!!!!!!!<br />
Grund:<br />
ich will die funktion LockWorkStation() verwenden und musste daher in den<br />
Einstellungen unter Projekt-Optionen die WinVersion eintragen:<br />
/D _WIN32_WINNT=0x0501 /D WINVER=0x0501</p>
<p>der 1. Eintrag löste den Fehler aus.<br />
Allerdings geht jetzt die LockWorkStation() nicht mehr <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /> .<br />
Geht das auch irgendwie anders?<br />
Evtl. mit Tasten-Simulation (Win-Taste + L)????</p>
]]></description><link>https://www.c-plusplus.net/forum/post/590867</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/590867</guid><dc:creator><![CDATA[Bummsfallera]]></dc:creator><pubDate>Wed, 25 Aug 2004 12:58:03 GMT</pubDate></item></channel></rss>