DLLs - Allgemein



  • Sämtliche Links, die ich gefunden hab gingen nicht. Ich hatte auch noch Bookmarks auf die Seite, aber auch die funzten nicht mehr.

    mfg
    Glamdring



  • Müsste eigendlich gehen....

    Hast du die Headerdatei auch mit #include eingebunden?

    Was für ein Fehler kommt denn genau?

    Grüße Rapha



  • Wieso HEader-Dateien, wenn ich die einbinde kann ich mir siwe LIB doch gleich sparen, oder?

    mfg
    Glamdring



  • Du brauchst eine Headerdatei, eine Lib und eine DLL.



  • Shlo schrieb:

    dEUs schrieb:

    Du musst natürlich noch die Headerdatei der DLL einbinden!
    Wenn du keine MFC-DLL verwendet hast, kannst du aber sowieso keine Klassen aus DLLs verwenden, weil aus normalen DLLs nur Funktionen exportiert werden können.

    Blödsinn, es muss keine MFC-DLL sein, um (Non-MFC)Klassen exportieren zu können. Das geht auch mit einer einfachen Win32-DLL.

    Weisst du das, oder hast du das einfach mal so hingeschrieben, um mir widersprechen zu können?

    VC++ 6.0 in 21 Tagen - Kap 17 schrieb:

    Erweiterte MFC-DLLs

    MFC-DLLs lassen sich am einfachsten kodieren und erstellen, da man sie genauso behandeln kann wie jede andere Sammlung von Klassen. Bei allen Klassen, die Sie aus einer DLL exportieren wollen, brauchen Sie lediglich das Makro AFX_EXT_CLASS wie folgt in die Klassendeklaration einzufügen:
    class AFX_EXT_CLASS CMyClass
    {
    .
    .
    .
    };

    Dieses Makro exportiert die Klasse und macht sie damit für Visual-C++-Anwendungen sichtbar. Das Makro ist in die Header-Datei einzubinden, die von den Anwendungen, die auf die DLL zurückgreifen, verwendet wird. Damit importieren Sie die Klasse aus der DLL, so daß sie sich verwenden läßt.

    Ein Nachteil bei der Erstellung von erweiterten MFC-DLLs besteht darin, daß sie sich nicht in anderen Programmiersprachen nutzen lassen, sondern nur mit anderen C++- Compilern, solange diese Compiler MFC unterstützen (wie das bei den Compilern von Borland - bzw. Inprise - und Symantec der Fall ist).

    Standard-DLLs

    Standard-DLLs exportieren Standardfunktionen aus der DLL und keine C++-Klassen. Im Ergebnis kann dieser DLL-Typ etwas mehr Nachdenken und Planung erfordern als eine erweiterte MFC-DLL. Innerhalb der DLL selbst können Sie allerdings alle Klassen wie gewünscht verwenden, für die externen Anwendungen müssen Sie jedoch reine Funktionsaufrufe vorsehen.



  • @dEUs
    Müsste eigendlich schon gehen. Wenn du eine Standard-dll erstellst und "exportiere einige symbole" (oder so ähnlich) wählst, wird eine dll erstellt, die eine Variable, eine Funktion und eine Klasse erstellt.

    @glamdrink guck auch mal hier (Tutorial über dlls): http://ginger.haifa.ac.il/~sberkovs/OS/exportdll.pdf

    Grüße Rapha



  • Schonmal probiert, die Klasse zu exportieren? (Ich nicht 🤡 )



  • Hi,

    jetzt wo du es gesagt hast, habs ich ausprobiert 😋
    Hat super geklappt :p 😃 😉

    Hier ist der Beweis: http://mitglied.lycos.de/rame03/files.htm (standard_dll.zip) 🤡

    Grüße Rapha





  • Shlo schrieb:

    LOL? Im gegensatz zu dir schreibe ich nie was, was ich nicht weiß.

    Geht dir einer ab, wenn du mich blöd anmachen kannst?
    Ich hab das auch nicht einfach so geschrieben, wie du an meiner Quelle siehst. Da ich das bisher noch nicht gebraucht habe, konnte ich das natürlich nciht verifizieren, was in dem Buch steht. Ist das ein Grund, so blöde zu kommen?? 👎 👎



  • dEUs schrieb:

    Geht dir einer ab, wenn du mich blöd anmachen kannst?
    Ich hab das auch nicht einfach so geschrieben, wie du an meiner Quelle siehst. Da ich das bisher noch nicht gebraucht habe, konnte ich das natürlich nciht verifizieren, was in dem Buch steht. Ist das ein Grund, so blöde zu kommen?? 👎 👎

    hör auf zu heulen, deine Quelle kann man eh in die Tonne treten. Außerdem hättest du dich besser informieren müssen, bevor du hier steif behauptest, dass es nicht funktioniert.

    Und das nennst sich Moderator...



  • Ich hab es nicht steif behauptet ...
    Man man ...



  • Sorry Shlo, aber der Post von dEUs war echt nicht unbegründet:

    dEUs schrieb:

    Innerhalb der DLL selbst können Sie allerdings alle Klassen wie gewünscht verwenden, für die externen Anwendungen müssen Sie jedoch reine Funktionsaufrufe vorsehen.

    da man bei derartigen Quellen normalerweise von Richtigkeit ausgehen kann.
    (man, wie ich es hasse Partei ergreifen zu müssen)

    Grüße Rapha


Anmelden zum Antworten