Kompilierte Exe exportiert Funktionen/Symble einer Komponente



  • Hi,

    im Grunde genommen ist meine Frage die gleiche wie hier http://www.c-plusplus.net/forum/220509.

    Ich habe heute das Komponenten Tutorial durchgelesen, wenn ich die kompilierte EXE in einen externen Debugger lade und mir die Exports ansehe sieht man - wieder einmal - die ganzen exportierten Symbole wie z.B.:

    ::Myrichedit::Finalize
    ::Myrichedit::Initialize
    (und noch ein paar andere was Myrichedit angeht)

    Mit dem Symbol Export von CPPDebugHook kann ich leben. Mit Finalize oder Initialize nur bedingt, auch wenn die hauptsächlich für Delphi Classen sind.

    Wie kriege ich diese Exports denn weg? Exe komprimieren ist keine Alternative. Die Option (siehe anderen Thread) für den Delphi Compiler einzustellen bringt nichts, ganz egal was ich eingstelle habe. Sie sind immer da 😞

    Wenn ich eine eigene Komponente erzeuge, leite ich diese von TComponent ab. Auch hier wieder diese Symbol Exports. Hier ist die einzige Referenz was den Code angeht der Delphi Teil vorhanden.

    Gibt es einen Trick wie ich diese Exports weg bekomme? Vermutlich wird mir wohl nichts anderes übrig bleiben und "normale" Klassen zu benutzen. Zumindest als "Komponente" wäre es auch nett gewesen. (mal abgesehen davon das ich sowieso keine Packages in der IDE hinzufügen kann, aber das ist in dem Fall egal)

    #pragma package(smart_init) auskommentieren funktioniert scheinbar bei "Komponenten" nicht, dann kompiliert es erst gar nicht:

    [Linker Error] Error: Export __fastcall TMyClientSocket::TClientSocket(Classes::TComponent *) in module <Projet Pfad>\DEBUG_BUILD\MyCLIENTSOCKET.OBJ references __fastcall Classes::TComponent::TComponent(Classes::TComponent *) in unit C:\PROGRAMME\BORLAND\BDS\4.0\LIB\DEBUG\RTL.BPI|Classes
    

    Danke!



  • 150 Views und keiner hat eine Lösung? 🙄


Anmelden zum Antworten