DLL erstellen
-
Hallo zusammen,
ich muss fürs Geschäft eine DLL erstellen, habe das allerdings noch nicht gemacht! Ich habe mir in einem Buch und im Internet ein paar Infos dazu durchgelesen, bin aber trotzdem irgendwie nicht wirklich schlau daraus geworden! Vielleicht kann mir ja einer von Euch helfen?
Verständnisfrage: Wenn ich das richtig verstanden hab, dann benötigt man eine DLL, um eine Funktion aus einer "Anwendung" in eine andere "Anwendung" einzubauen! Hab ich das so richtig verstanden?
Testprogramm:Ich habe in MFC ein Dialog mit einem Button! Klickt man auf den Button, dann öffnet sich eine Massagebox! Nun möchte diese Funktion in eine DLL packen!
Ich habe Testweise mit dem DLL Assisten eine DLL erstellt, nun weiss ich allerdings nicht weiter! Wo muss denn der Code eingebaut werden? usw.
Kann mir jemand dabei helfen?
DANKE schon mal!!!
Gruß Elle
-
ist ne gute anleiteung Dll's zu erstellen und einzustezen
link: http://zone.ni.com/devzone/conceptd.nsf/webmain/3A1F4B7CBC68B636862567CC004D5CCA
-
Eleonora schrieb:
dann öffnet sich eine Massagebox!
Wo gibt es so eine Box. DIe könnte ich jetzt brauchen.
Du hast dies mit einer DLL falsch verstanden.
Eine DLL verwendet man um Programmcode der in vielen Programme gebraucht werden könnte nur einmal zu schreiben.
Das ganze geht natürlich auch mit Klassen die man einbindet aber:
Bei Klassen sieht man den Sourcecode und dies ist oft nicht erwünscht.
Änderung an der Klasse bedeutet neu kompilieren.
Solange man die SChnittstelle zur DLL nicht selbst ändert reicht es die DLL weiter zu geben wenn darin Fehler behoben werden.
Man kann mit DLL Plugins machen.u.v.m.
SChau dir das Buch VC++ 6 in 21 Tagen an. Dort gibt es ein Kapitel dazu.
Gibts Online zum lesen.
-
@Unix-Tom:Meinst Du das?
MessageBox("Text");
Werde mir die Links anschauen!!! Meld mich wieder wenn es nicht klappen sollte!!
Gruß Elle
-
So, ich habe soweit das Beispiel aus dem Visual C++ in 21 Tagen gemacht und es hat auch funktioniert!!
Ich bin gerade dabei die DLL für meine Anwendung zu erstellen! Ich bin soweit, dass ich die DLL über den MFC-Assistenten angelegt habe. Anschliessend habe ich ein neues Projekt (MFC-Anwendungsassistent) in die DLL angelegt. In diese Anwendung habe ich eine MassageBox eingebaut!
Kann mir jemand sagen, ob ich bis jetzt noch richtig liege?
Unter anderem muss ich diese Makro in die Classe einbauenAFX_EXT_CLASS
Nur, in welche Klasse muss ich das Makro einbauen? Ich hab so das dumpfe Gefühl, daß das was ich bis jetzt gemacht habe nicht stimmt?!
Kann das sein?
Danke schon mal, ich probier es in der Zwischenzeit weiter!
Gruß Elle
-
Eleonora schrieb:
@Unix-Tom:Meinst Du das?
MessageBox("Text");
Gruß Elle
Nein, ich meine
MassageBox
Ist zwar schon alt aber ich habe mal eine demo erstellt.
-
Uuups, ich glaub ich weiss was Du meinst!
Wie heisst es so schön --> Wer lesen kann ist von Vorteil!!!!
Danke für den Code! Bin gerade dabei ihn mir anzuschauen!!!!
Meld mich wieder!!!
Gruß Elle
-
Hallo zusammen,
so, ich hab nun eine DLL (TestDll141204) erstellt. In diese Dll habe ich ein Dialogfenster eingebaut welches nur einen Button hat. Dieser Button ruft eine MessageBox auf. Unter anderem hab ich die Klasse MBDlg erstellt. Kompilier bzw. Debug ich das Ganze dann bringt er mir diese 3 Fehlermeldungen in den Folgenden Zeilen
1. Fehler: error C2065: 'IDD_DIALOG1': nichtdeklarierter Bezeichner
2. Fehler: error C2065: 'IDC_BUTTON1': nichtdeklarierter Bezeichner
3. Fehler: error C3861: 'IDC_BUTTON1': Bezeichner wurde auch mit einer argumentbezogenen Suche nicht gefundenzu 1)
enum { IDD = IDD_DIALOG1 };
in der Datei MGDlg.h
zu 2)BEGIN_MESSAGE_MAP(MGDlg, CDialog) ON_BN_CLICKED(IDC_BUTTON1, OnButton1) //Hier soll der Fehler sein END_MESSAGE_MAP()
in der Datei MGDlg.cpp
zu 3) siehe "zu 2"Weiss einer von Euch wo ich den Fehler habe?
Danke für die Hilfe!!!
Gruß Elle
-
Hy,
ich glaub ich hab den Fehler gefunden? Ich hab die #include "Resource.h"
nicht in die stdafx.h eingebaut gehabt!!!Gruß