DLL mit C++Builder für C++ und Delphi



  • Hi,

    ich habe eine umfangreiche DLL(mit VCL.h) mit Borland C++-Bulder 6.0 erstellt, jetzt soll ich sie auch für Delphi-Programme verfügbar machen.
    Ich bekomme es leider nicht hin, dass die DLL für C++ UND Delphi gleichzeitig funtioniert:

    bool __extern test(int i); // geht in c++, nicht in Delphi
    
    __declspec(dllexport) bool test(int i); // geht in c++, nicht in Delphi
    
    extern "C" __declspec(dllexport) bool test(int i); // geht in Delphi, nicht in C++
    

    Es wird jeweils immer ein fehlender DLLEntryPoint moniert....

    Kann mir jemand mal ein Beispiel geben bzw. ein Tutorial nennen, wie man es richtig macht?

    Vielen Dank!



  • extern "C" __declspec(dllexport) bool test(int i); // geht in Delphi, nicht in C++

    Das geht auch im Builder.
    Ich weiss jetzt nicht wo genau das Problem liegt.



  • extern "C" __declspec(dllexport) bool __stdcall test/int i);

    Geht als DLL in Microsoft VC++, in CBuilder und anderen Compilern anzusprechen.

    (Delphi kann ich nicht testen, sollte aber auch gehen, ist ja als allgemeinster Standard festgelegt)

    Gruss
    Frank



  • DerAltenburger schrieb:

    Delphi kann ich nicht testen

    Freilich kannst du - der Delphi-Compiler liegt jedem C++Builder bei 😉



  • audacia schrieb:

    DerAltenburger schrieb:

    Delphi kann ich nicht testen

    Freilich kannst du - der Delphi-Compiler liegt jedem C++Builder bei 😉

    Uuuups, hab ich noch nie irgendwo gesehen.

    Auch beim BCB 4.0 Standard?

    Gruss
    Frank



  • Vermutlich schon. Füge einfach deinem Projekt eine *.pas-Datei hinzu, oder rufe DCC32 in der Kommandozeile auf.

    Außerdem gibt es von Delphi und C++Builder 2006 auch kostenfreie Editionen.



  • audacia schrieb:

    Vermutlich schon. Füge einfach deinem Projekt eine *.pas-Datei hinzu, oder rufe DCC32 in der Kommandozeile auf.

    Stimmt, eingebunde .pas macht er ja - hab ja z.B. Gifimage so integriert.
    Und die DCC32 ist auch da, muss ich mal probieren.

    Es muss ja keine echte "Delphi-" exe werden.

    Gruss
    Frank


Anmelden zum Antworten