List&Label 8 - Problem mit dynamischem Laden



  • Moin,
    hoffentlich kann mir hier einer helfen:
    Habe List & Label 8 mit C++ Builder 6 und will (wegen Entwicklung auf mehreren Rechnern u.a.) die LL-DLL dynamisch laden.
    Dazu hab ich bei combit auch Code gefunden:

    // ...
    #include 'cmbtl8.hx'
    // ...
    
    #undef _L8_H
    #define IMPLEMENTATION
    #include 'cmbtl8.hx'
    #undef IMPLEMENTATION
    
    // ...
    if (L8xLoad() < 0)
    {
    	MessageBox('Error: cannot load L8!');
    	return;
    }
    
    // ... normal L&L operation
    
    L8xUnload();
    

    Wenn ich das jetzt aber einbau, bekomm ich in den cmbtl8.hx eine Menge Fehler, 2 hiervon:

    [C++ Warnung] cmbtl8.hx(9): W8095 Falsche Verwendung von #pragma message( \042string\042 )

    bei folgendem Code:

    #if !defined(WIN16) && !defined(WIN32)
      #pragma message("you should define either WIN16 or WIN32 to ensure a correct compilation"); /* Fehler hier und drunter */
      #pragma message("(I assume WIN32, cross your fingers to proceed)");
      #define WIN32 1
    #endif
    

    und jede Menge von

    [C++ Fehler] cmbtl8.hx(1174): E2141 Fehler in der Deklarationssyntax

    u.a. in folgenden Zeilen:

    #ifndef IMPLEMENTATION
      typedef   HLLJOB ( DLLPROC *PFNLLJOBOPEN)(
    	INT                  nLanguage);
    #endif /* IMPLEMENTATION */
    
    extern PFNLLJOBOPEN LlJobOpen; /*Fehler hier*/
    

    Bin nicht der fitteste in C++ (bin eigentlicht Delphi-Programmierer), aber ich hoffe, hier kann mir einer von Euch helfen 😉



  • Setz im Compiler mal das Symbol WIN32 im Projekt-Options-Tab "Directories/Conditionals" im Feld "Conditional defines". Das ist eigentlich auch das was dir die Nachricht bei #pragma message() sagen will (:

    -junix



  • wow, danke, das wusste ich net. Tja, man lernt nie aus.

    Jetzt fehlt nur noch das 2. Problem mit der Syntax 😞



  • Das Problem bleibt bestehen, sagst du? Ich hätte jetzt erwartet, dass sich auch dieses Problem löst. Wo hast du die Headerfile runtergeladen? Möchte mir die gerne mal ansehen.

    -junix



  • http://www.combit.net/de/support/files/cmbtkb/cmbtl8x.zip

    Das war die Datei (die hx in dem Archiv), die bei dem Artikel direkt angegeben war, diese sollte man ja includen. Ich hatte es aber vorhin mit der alten und mit der neuen probiert, deshalb dürfte sich da nichts getan haben.



  • Sonst keine Idee mehr? Ich krieg das Teil einfahc nicht in den Griff, es muss aber so gehen.



  • Der Fehler liegt womöglich daran das bei
    projekt-optionen unter Verzeichnise/Bedinungen
    bei bedinungen "_DEBUG" drinn steht, mach das
    raus wenns drinn ist und compile nochmals.

    Asta la H.K.



  • Ne, das steht leider nicht drin, und es funktioniert auch nicht, wenn ichs reinschreib 😞
    Noch jmd eine Idee?



  • OK, Leute, Ihr braucht nicht mehr versuchen mir zu helfen, mir ist eben die Idee gekommen, mir das combit-Teil nochmal genau durchzulesen (und auch die Source-Stelle vom Fehler) und dann ist mir das implementation ins Auge gestiegen.

    Hatte dieses define-usw in der Projektdatei geschrieben und nicht in der Unit, in der ich L&L verwende, jetzt funktioniert es. Trotzdem nochmal danke für die Hilfe 😉


Anmelden zum Antworten