[C++Builder] Service Anwendung mit vcl-Komponenten nutzen
-
versuch mal:
- erstell ein komplett neues projekt
- speichere es ab
- versuch es nochmals
- wenn es nicht klapt, compilier es mal
- nochmal testenich 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; //--------------------------------------------------------------------------- #endifvon 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