Unresolved external '__fastcall Graphics::TCanvas::GetHandle()'



  • Hallo,

    so kann man ja normal ein Programm kompilieren, damit es auch auf Rechnern ohne Borland läuft:


    leider kommt dann bei einer dll von mir folgender Fehler:

    [Linker Fehler] Unresolved external '__fastcall Graphics::TCanvas::GetHandle()' referenced from E:\EIGENE PROGRAMME\C\PROJEKTE\SPC3\SPC3\RELEASE\SOURCEBETA8\PLUGINS\INVERT.OBJ
    

    die dll enthält fogenden code:

    #include <vcl.h>
    #include <windows.h>
    #pragma hdrstop
    #include "..\\GfxPlugin.h"
    
    #pragma argsused
    
    class Invert: public SPCGFXPlugIn
    {
    __published:
    private:
    public:
        void Render(TCanvas * Canvas, int iWidth, int iHeight, int iPicTyp);
    };
    
    void Invert::Render(TCanvas * Canvas, int iWidth, int iHeight, int iPicTyp)
    {
        // Invert the Canvas
        HRGN PictureHRGN = CreateRectRgn(0, 0, iWidth, iHeight);
        InvertRgn(Canvas->Handle, PictureHRGN);
        return;
    }
    
    __declspec(dllexport) SPCGFXPlugIn* CreatePlugInObject()
    {
        return new Invert;
    }
    
    int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)
    {
        return 1;
    }
    //---------------------------------------------------------------------------
    

    woran liegt das? Kennt jemand eine Lösung?



  • GetHandle() aus Graphics::TCanvas kann nicht aufgelöst werden.

    Bye, TGGC (Pipe my World.)



  • ja, ist mir klar. Aber warum? Was kann man dagegen machen?



  • Hast du schon überprüft, ob die Include- und Lib-Verzeichnisse in den Projektoptionen korrekt gesetzt sind?



  • klar, die includes und alles passt. Ich kann die dll ja auch erstellen, nur
    wenn ich sie Borland unabhängig machen will, also damit sie auf jedem PC
    funktioniert, dann kommt der Fehler.

    Graphics::TCanvas hab ich ja nicht selber programmier sondern ist Borland
    Standard



  • Hallo

    hats du in dem DLL-Projekt auch die Runtime-Librarys ausgeschaltet? Siehe Standalone-Exe

    bis bald
    akari



  • ich hab im dll Projekt alles so eingestellt wie ich normal die Einstellungen
    für eine Standalone exe einstelle.

    Ich hab das minimal Projekt auch mal hochgeladen:
    www.gsm-dev.de/SPC3PluginTest.rar

    das ganze soll mal ein Plugin für Siemens Picture Change 3 werden.
    Wenn das ganze aber natürlich nur mit Borland funktioniert muss ich
    mir entweder was anderes überlegen oder den Plugin Support aus SPC3
    wieder entfernen.


Anmelden zum Antworten