<?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[&amp;quot;Refresh&amp;quot;-Button in DLL!?]]></title><description><![CDATA[<p>Hallo zusammen!</p>
<p>Ich habe eine SDI-Anwendung, mit einer von CView abgeleitetend Ansichtsklasse (Name:&quot;sehend&quot;). Einige Dialogfelder habe ich aus Wartungsgründen und zwecks Wiederverwendbarkeit (ich brauche diese ebenso in einem 2. Programm) in ne DLL (MFC-Anwendungs-Assistent DLL) gesteckt.</p>
<p>In einem Dialog konnte man die Ansicht mit einem &quot;Refresh&quot;-Button neu zeichnen, wofür ich meine eigene Funktion draw() in der Klasse &quot;sehend&quot; benutzt habe. Das hat auch gut geklappt! Nachdem der Dialog jetzt in der DLL ist, wollte ich das verallgemeinern auf eine CView-Klasse, da ich die DLL sonst jedes mal wieder an eine abgeleitete Klasse anpassen müsste!</p>
<p>Mit dieser Funktion wird also jetzt der Dialog gestartet:</p>
<pre><code>NMEditPropDialog((CView*)sehend);
</code></pre>
<p>Im Konstruktor bekommt der Dialog also einen Pointer auf ein CView-Objekt.</p>
<p>Bei Klick auf den &quot;Refresh&quot;-Button soll folgendes ausgeführt werden:</p>
<pre><code>sehend-&gt;Invalidate();
sehend-&gt;OnInitialUpdate();
</code></pre>
<p>Nun bekomme ich dabei aber folgende Fehlermeldung in AFX2WIN.INL, Linie 112:</p>
<pre><code>ASSERT(::IsWindow(m_hWnd)); return CDC::FromHandle(::GetDC(m_hWnd));
</code></pre>
<p>Also ist da irgendwie ein Fehler aufgetreten. Da ich mich mit dem nicht so auskenne, würde ich Euch gerne um Rat bitten!</p>
<p>Was ich gehört habe ist, daß es wohl problematisch sein könnte, den Pointer von einer Applikation einer anderen zu geben. Dies wäre wohl hier der Fall, weil es eine MFC-Anwendungs-DLL ist... (keine Ahnung!)</p>
<p>Soll ich einen anderen DLL-Typ nehmen, oder gibts da ne simple Lösung, oder überhaupt keine??</p>
<p>Würde mich WIRKLICH über jeden Typ freuen...!!!</p>
<p>Vielen Dank!</p>
<p>Gruß, Tobias</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/74850/quot-refresh-quot-button-in-dll</link><generator>RSS for Node</generator><lastBuildDate>Sat, 25 Apr 2026 21:52:12 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/74850.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 25 May 2004 09:30:21 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to &amp;quot;Refresh&amp;quot;-Button in DLL!? on Tue, 25 May 2004 09:30:21 GMT]]></title><description><![CDATA[<p>Hallo zusammen!</p>
<p>Ich habe eine SDI-Anwendung, mit einer von CView abgeleitetend Ansichtsklasse (Name:&quot;sehend&quot;). Einige Dialogfelder habe ich aus Wartungsgründen und zwecks Wiederverwendbarkeit (ich brauche diese ebenso in einem 2. Programm) in ne DLL (MFC-Anwendungs-Assistent DLL) gesteckt.</p>
<p>In einem Dialog konnte man die Ansicht mit einem &quot;Refresh&quot;-Button neu zeichnen, wofür ich meine eigene Funktion draw() in der Klasse &quot;sehend&quot; benutzt habe. Das hat auch gut geklappt! Nachdem der Dialog jetzt in der DLL ist, wollte ich das verallgemeinern auf eine CView-Klasse, da ich die DLL sonst jedes mal wieder an eine abgeleitete Klasse anpassen müsste!</p>
<p>Mit dieser Funktion wird also jetzt der Dialog gestartet:</p>
<pre><code>NMEditPropDialog((CView*)sehend);
</code></pre>
<p>Im Konstruktor bekommt der Dialog also einen Pointer auf ein CView-Objekt.</p>
<p>Bei Klick auf den &quot;Refresh&quot;-Button soll folgendes ausgeführt werden:</p>
<pre><code>sehend-&gt;Invalidate();
sehend-&gt;OnInitialUpdate();
</code></pre>
<p>Nun bekomme ich dabei aber folgende Fehlermeldung in AFX2WIN.INL, Linie 112:</p>
<pre><code>ASSERT(::IsWindow(m_hWnd)); return CDC::FromHandle(::GetDC(m_hWnd));
</code></pre>
<p>Also ist da irgendwie ein Fehler aufgetreten. Da ich mich mit dem nicht so auskenne, würde ich Euch gerne um Rat bitten!</p>
<p>Was ich gehört habe ist, daß es wohl problematisch sein könnte, den Pointer von einer Applikation einer anderen zu geben. Dies wäre wohl hier der Fall, weil es eine MFC-Anwendungs-DLL ist... (keine Ahnung!)</p>
<p>Soll ich einen anderen DLL-Typ nehmen, oder gibts da ne simple Lösung, oder überhaupt keine??</p>
<p>Würde mich WIRKLICH über jeden Typ freuen...!!!</p>
<p>Vielen Dank!</p>
<p>Gruß, Tobias</p>
]]></description><link>https://www.c-plusplus.net/forum/post/526790</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/526790</guid><dc:creator><![CDATA[tobis79211]]></dc:creator><pubDate>Tue, 25 May 2004 09:30:21 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;Refresh&amp;quot;-Button in DLL!? on Wed, 26 May 2004 10:45:25 GMT]]></title><description><![CDATA[<p>keiner hat ne Idee?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/527541</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/527541</guid><dc:creator><![CDATA[tobis79211]]></dc:creator><pubDate>Wed, 26 May 2004 10:45:25 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;Refresh&amp;quot;-Button in DLL!? on Wed, 26 May 2004 11:03:53 GMT]]></title><description><![CDATA[<p>Hm, wäre es nciht eifnacher deinem View von der DLL ne Nachricht zu schicken? Und daraufhin zeichnet sich der View dann selbst neu?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/527557</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/527557</guid><dc:creator><![CDATA[dEUs]]></dc:creator><pubDate>Wed, 26 May 2004 11:03:53 GMT</pubDate></item></channel></rss>