Form aus DLL....bekomms nich hin...:(



  • Also hi...

    hab mich heute mal bisschen mit DLLs beschäftigt, und wollte jetzt eine Form aus DLL laden!
    HEADER DES FORMULARS

    //---------------------------------------------------------------------------
    
    #ifndef Unit2H
    #define Unit2H
    //---------------------------------------------------------------------------
    #include <Classes.hpp>
    #include <Controls.hpp>
    #include <StdCtrls.hpp>
    #include <Forms.hpp>
    //---------------------------------------------------------------------------
    #ifdef __DLL__
    #define DLL_EXP __declspec(dllexport)
    #else
    #define DLL_EXP __declspec(dllimport)
    #endif
    
    class DLL_EXP TMyForm : public TForm
    {
    __published:	// Von der IDE verwaltete Komponenten
    private:	// Anwender-Deklarationen
    public:		// Anwender-Deklarationen
            __fastcall TMyForm(TComponent* Owner);
    };
    //---------------------------------------------------------------------------
    extern PACKAGE TMyForm *MyForm;
    //---------------------------------------------------------------------------
    #endif
    

    als Quelltext steht in der DLL nix drin, und beim Formular auch nicht!

    QUELLCODE AUFRUFENDES PROGRAMM

    //---------------------------------------------------------------------------
    
    #include <vcl.h>
    #pragma hdrstop
    
    #include "Unit3.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    #include "Unit2.h"
    TForm3 *Form3;
    //---------------------------------------------------------------------------
    __fastcall TForm3::TForm3(TComponent* Owner)
            : TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------
    
    void __fastcall TForm3::Button1Click(TObject *Sender)
    {
    TMyForm* form = new TMyForm(this);
    form->ShowModal();
    delete form; // optional
    
    }
    

    So und nun mein Fehler:
    2 Linker Fehler:

    [Linker Fehler] Unresolved external 'TMyForm::' referenced from E:\PROGRAMME\BORLAND\CBUILDER6\PROJECTS\VCL\DLL_FORMULAR\UNIT3.OBJ
    [Linker Fehler] Unresolved external '__fastcall TMyForm::TMyForm(Classes::TComponent *)' referenced from E:\PROGRAMME\BORLAND\CBUILDER6\PROJECTS\VCL\DLL_FORMULAR\UNIT3.OBJ
    

    nur kann ich damit nix anfangen!! 😞

    Ich habe die *.lib dem aufrufenden Projekt hinzugefügt!

    Weiß jemand den Fehler, bzw kann mir erklären wie es geht? 😕



  • ERLEDIGT!!!!!!!!!!

    Hab vergessen den Header der Form in der CPP der DLL zu inkludieren!


Log in to reply