<?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[Formdesign für eine dll]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich muss von einer dll aus eine Form öffnen. Gibt es mit Borland eine<br />
bessere Möglichkeit als diese von Hand zu programmieren? Also praktisch<br />
einen Form Editor der mit für die dll eine Form erstellt?</p>
<p>bisher sieht das so aus (ungetestet):</p>
<pre><code class="language-cpp">TForm * MyForm = new TForm(this);

TButton * MyButton = new TButton(MyForm);
MyButton-&gt;Left = 8;
MyButton-&gt;Top = 8;
MyButton-&gt;ParentWindow = MyForm
MyButton-&gt;OnClick = MyButtonClick;

TEdit * MyEdit = new TEdit(MyForm);
MyEdit-&gt;ParentWindow = MyForm
MyEdit-&gt;Left = 8;
MyEdit-&gt;Top = 50;
MyEdit-&gt;OnChange = MyEditChange;
</code></pre>
<p>das ganze wird natürlich schrecklich unübersichtlich und wenn ich einmal<br />
etwas ändern muss gibt das ein perfektes Chaos.</p>
<p>Ich weiß, dass in Resourcen auch Dialoge enthalten sein können, aber<br />
welcher Resource Editor kann diese erstellen? Und wie kann ich festlegen<br />
welche Funktionen aufgerufen werden wenn ich z.B. auf einen Knopf klicke?</p>
<p>Vielen Dank schonmal!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/79575/formdesign-für-eine-dll</link><generator>RSS for Node</generator><lastBuildDate>Tue, 30 Jun 2026 06:39:42 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/79575.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 12 Jul 2004 18:05:09 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Formdesign für eine dll on Mon, 12 Jul 2004 18:05:09 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich muss von einer dll aus eine Form öffnen. Gibt es mit Borland eine<br />
bessere Möglichkeit als diese von Hand zu programmieren? Also praktisch<br />
einen Form Editor der mit für die dll eine Form erstellt?</p>
<p>bisher sieht das so aus (ungetestet):</p>
<pre><code class="language-cpp">TForm * MyForm = new TForm(this);

TButton * MyButton = new TButton(MyForm);
MyButton-&gt;Left = 8;
MyButton-&gt;Top = 8;
MyButton-&gt;ParentWindow = MyForm
MyButton-&gt;OnClick = MyButtonClick;

TEdit * MyEdit = new TEdit(MyForm);
MyEdit-&gt;ParentWindow = MyForm
MyEdit-&gt;Left = 8;
MyEdit-&gt;Top = 50;
MyEdit-&gt;OnChange = MyEditChange;
</code></pre>
<p>das ganze wird natürlich schrecklich unübersichtlich und wenn ich einmal<br />
etwas ändern muss gibt das ein perfektes Chaos.</p>
<p>Ich weiß, dass in Resourcen auch Dialoge enthalten sein können, aber<br />
welcher Resource Editor kann diese erstellen? Und wie kann ich festlegen<br />
welche Funktionen aufgerufen werden wenn ich z.B. auf einen Knopf klicke?</p>
<p>Vielen Dank schonmal!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/559082</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/559082</guid><dc:creator><![CDATA[Acidmrp]]></dc:creator><pubDate>Mon, 12 Jul 2004 18:05:09 GMT</pubDate></item><item><title><![CDATA[Reply to Formdesign für eine dll on Tue, 13 Jul 2004 21:07:07 GMT]]></title><description><![CDATA[<p>Ich hoffe ich habe dich richtig verstanden.<br />
Du möchtest in einer DLL ein Formular aus dieser DLL verwenden.</p>
<p>Dann kannst du das Formular genauso erstellen wie bei einer EXE-Datei.</p>
<p>In die DLL packst du dann eine exportierte Funktion hinein die von deinem Programm aufgerufen wird darin öffnest du das Formular.</p>
<p>Bsp:</p>
<pre><code>int __stdcall ShowFormFromDll(.....was man vielleicht noch so benötigt...)
{
//
// Hier könnte noch was erledigt werden
// 
dllform=new Tdllform(Application)
dllform-&gt;Show()/ShowModal(); //ShowModal ist wahrscheinlich besser!
dllform-&gt;Release();
delete dllform;
return 7654;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/559981</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/559981</guid><dc:creator><![CDATA[barnie]]></dc:creator><pubDate>Tue, 13 Jul 2004 21:07:07 GMT</pubDate></item><item><title><![CDATA[Reply to Formdesign für eine dll on Wed, 14 Jul 2004 09:09:09 GMT]]></title><description><![CDATA[<p>ja, so ähnlich hab ich mir das vorgestellt. Zuerst hab ich auch gedacht es<br />
funktioniert, aber irgendwie macht der nur ein neues Fenster indem nichts<br />
drin steht:</p>
<pre><code class="language-cpp">TForm2 * dllform=new TForm2(Application);
dllform-&gt;ShowModal(); 
dllform-&gt;Release();
delete dllform;
return 0;
</code></pre>
<p>die Form sieht z.B. so aus:</p>
<pre><code class="language-cpp">class TForm2 : public TForm
{
__published:	// Von der IDE verwaltete Komponenten
    TButton *Button1;
private:	// Anwender-Deklarationen
public:		// Anwender-Deklarationen
    __fastcall TForm2(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm2 *Form2;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/560190</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/560190</guid><dc:creator><![CDATA[Acidmrp]]></dc:creator><pubDate>Wed, 14 Jul 2004 09:09:09 GMT</pubDate></item><item><title><![CDATA[Reply to Formdesign für eine dll on Thu, 15 Jul 2004 11:11:31 GMT]]></title><description><![CDATA[<p>Das scheint so ähnlich zu sein wie ein Programm das ich vor kurzem geschrieben hab.<br />
Da hab ich ein Hauptprogramm das die DLL's lädt und eine Form der DLL auf einem Panel anzeigt.<br />
In der DLL steht folgendes:</p>
<p>Der DLLEntryPoint:</p>
<pre><code class="language-cpp">int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)
{
	//In einer DLL müssen die Formulare selbst erstellt werden
        //sonst wird bei der Prozeduren die auf diese Form zugreifen eine Exception augegeben
        Application-&gt;CreateForm(__classid(TfrmMain), &amp;frmMain);
        return 1;
}
</code></pre>
<p>Die Funktion die vom Hauptprogramm aufgerufen wird um das Formular anzuzeigen:</p>
<pre><code class="language-cpp">VOID __stdcall SetFormParent (HWND Handle)
{
 SetParent(

    frmMain-&gt;Handle,	// Handle der Form die Im Hauptprogramm angezeigt werden soll.
    Handle 	// Dies ist das Handle des Panels das vom Hauptprogramm übergeben wird
 );
 frmMain-&gt;Align=alClient;//Formular soll sich automatisch anpassen
 frmMain-&gt;Show(); //Formular anzeigen
}
</code></pre>
<p>Wenn die Form nur angezeigt werden soll kann man das SetParent und Align natürlich weglassen, aber so funktioniert es bei mir(C++ Builder 6).<br />
Hoffe das hilft dir.</p>
<p>[EDIT]Im <a href="http://www.c-plusplus.net/forum/viewtopic.php?t=39305" rel="nofollow">FAQ</a> unter Forms steht auch etwas dazu[/EDIT]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/561054</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/561054</guid><dc:creator><![CDATA[Beliah]]></dc:creator><pubDate>Thu, 15 Jul 2004 11:11:31 GMT</pubDate></item><item><title><![CDATA[Reply to Formdesign für eine dll on Thu, 15 Jul 2004 14:24:59 GMT]]></title><description><![CDATA[<p>vielen Dank!</p>
<p>Ich habs nun hinbekommen. Wenn ich etwas Luft habe in den nächsten Tagen, dann<br />
schreib ich mal alles zusammen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/561452</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/561452</guid><dc:creator><![CDATA[Acidmrp]]></dc:creator><pubDate>Thu, 15 Jul 2004 14:24:59 GMT</pubDate></item></channel></rss>