[C++Builder] Service Anwendung mit vcl-Komponenten nutzen



  • Ja! Komisch oder?!
    Ich weiß halt auch nicht, was da schief läuft.
    Muss man dieses Projekt vielleicht irgendwo besonders abspeichern oder so?



  • versuch mal:
    - erstell ein komplett neues projekt
    - speichere es ab
    - versuch es nochmals
    - wenn es nicht klapt, compilier es mal
    - nochmal testen

    ich hatte schon den selben fehler, da musste ich das Programm kurz compilieren und dan gings wieder

    BigNeal



  • Wenn ich versuche es zu compilieren, dann spuckt er mir folgende Exception aus:

    Im Projekt Projekt2.exe ist eine Exception der Klasse EClassNotNound aufgetreten. Meldung: 
    'Klasse TADOConnection nicht gefunden'. Prozeß wurde angehalten. Mit Einzelne Anweisung oder Start 
    fortsetzen.
    

    Hier mal den Code, den BCB beim erstellen des Projektes schreibt:

    Unit1.cpp

    //---------------------------------------------------------------------------
    #include "Unit1.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma link "trayicon"
    #pragma resource "*.dfm"
    
    TService1 *Service1;
    //---------------------------------------------------------------------------
    __fastcall TService1::TService1(TComponent* Owner)
    	: TService(Owner)
    {
    
    }
    
    TServiceController __fastcall TService1::GetServiceController(void)
    {
    	return (TServiceController) ServiceController;
    }
    
    void __stdcall ServiceController(unsigned CtrlCode)
    {
    	Service1->Controller(CtrlCode);
    }
    //---------------------------------------------------------------------------
    

    Unit1.h

    //---------------------------------------------------------------------------
    #ifndef Unit1H
    #define Unit1H
    //---------------------------------------------------------------------------
    #include <SysUtils.hpp>
    #include <Classes.hpp>
    #include <SvcMgr.hpp>
    #include <vcl.h>
    #include "trayicon.h"
    #include <ADODB.hpp>
    #include <DB.hpp>
    //---------------------------------------------------------------------------
    class TService1 : public TService
    {
    __published:    // Von der IDE verwaltete Komponenten
       TADOConnection *ADOConnection1;
    private:        // Anwender-Deklarationen
    public:         // Anwender-Deklarationen
    	__fastcall TService1(TComponent* Owner);
    	TServiceController __fastcall GetServiceController(void);
    
    	friend void __stdcall ServiceController(unsigned CtrlCode);
    };
    //---------------------------------------------------------------------------
    extern PACKAGE TService1 *Service1;
    //---------------------------------------------------------------------------
    #endif
    

    von mir wurde nichts zusätzlich hinzugefügt.



  • Das funktioniert bei mir ebenfalls (ADOConnection + TrayIcon hinzugefügt)
    Was mir noch einfällt:
    Hast Du die Updates des BCB installiert?
    In welchem Verzeichnis speicherst Du das Projekt?



  • Ich kann dein Code ohne probleme compilieren, muss woanderst liegen
    Ich benutze BCB 6 Pro, du?



  • Ich benutze den Borland C++Builder 6 Professional.

    Habe aber keine Updates installiert.

    Mich wundert das ganze nur, weil es gestern noch ging ohne Probleme.
    Jetzt bringt er immer diese Exception.

    Da stimmt bestimmt irgendetwas an den Einstellungen nicht!



  • Die Updates 1, 2 und 4 solltest Du dringenst installieren. So kannst Du nicht mal sicher sein, dass die richtige Fehlermeldung ausgegeben wird. In der deutschen Version war da ein übler Bug drin...



  • Mal ne blöde Frage, wo kann man denn diese Updates bekommen?



  • Bei www.borland.de
    Dort auf 'Downloads' klicken und unter 'Registered Users' auf 'C++ Builder' klicken. Rechts kannst Du dann Updates auswählen, einloggen und die deutschen Updates runterladen.



  • Joe_M. schrieb:

    Die Updates 1, 2 und 4 solltest Du dringenst installieren.

    AFAIK sind die Updates kumulativ, es sollte also ausreichen, v4 zu installieren.



  • skluge schrieb:

    Hallo zusammen,

    class TService1 : public TService
    {
    __published:    // Von der IDE verwaltete Komponenten
       TADOConnection *ADOConnection1;
    ...
    }
    

    Wenn ich jetzt zum Bsp in der Methode

    __fastcall TService1::TService1(TComponent* Owner)
    	: TService(Owner)
    {
    
    }
    

    Also wenn das alles ist, dann fehlt da auf jeden Fall das ";" am Ender der Deklaration


Anmelden zum Antworten