C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Сервис, Сервис
jon
Отправлено: 08.12.2006, 10:29


Ученик-кочегар

Группа: Участник
Сообщений: 20



Проблема с созданием службы делаю по книге вот код:

//---------------------------------------------------------------------------
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"

TBeepService *BeepService;
//---------------------------------------------------------------------------
__fastcall TBeepService::TBeepService(TComponent* Owner)
: TService(Owner)
{
}

TServiceController __fastcall TBeepService::GetServiceController(void)
{
return (TServiceController) ServiceController;
}

void __stdcall ServiceController(unsigned CtrlCode)
{
BeepService->Controller(CtrlCode);
}
//---------------------------------------------------------------------------

void __fastcall TBeepService::ServiceExecute(TService *Sender)
{
while(!Terminated)
{
MessageBeep(0);
Sleep(1000);
ServiceThread->ProcessRequests(false);
}
}
//---------------------------------------------------------------------------


//---------------------------------------------------------------------------
#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include
#include
#include
#include
//---------------------------------------------------------------------------
class TBeepService : public TService
{
__published: // IDE-managed Components
void __fastcall ServiceExecute(TService *Sender);
private: // User declarations
public: // User declarations
__fastcall TBeepService(TComponent* Owner);
TServiceController __fastcall GetServiceController(void);

friend void __stdcall ServiceController(unsigned CtrlCode);
};
//---------------------------------------------------------------------------
extern PACKAGE TBeepService *BeepService;
//---------------------------------------------------------------------------
#endif

Во время компиляции выдает ошибку

[C++ Error] Unit1.cpp(26): E2316 '_fastcall TService1::ServiceExecute(TService *)' is not a member of 'TService1'

Что за ошибка как ее исправить?
Romikgy
Отправлено: 08.12.2006, 11:46


Дежурный стрелочник

Группа: Участник
Сообщений: 72



QUOTE (jon @ 08.12.2006, 10:29)
Проблема с созданием службы делаю по книге вот код:

//---------------------------------------------------------------------------
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"

TBeepService *BeepService;
//---------------------------------------------------------------------------
__fastcall TBeepService::TBeepService(TComponent* Owner)
: TService(Owner)
{
}

TServiceController __fastcall TBeepService::GetServiceController(void)
{
return (TServiceController) ServiceController;
}

void __stdcall ServiceController(unsigned CtrlCode)
{
BeepService->Controller(CtrlCode);
}
//---------------------------------------------------------------------------

void __fastcall TBeepService::ServiceExecute(TService *Sender)
{
while(!Terminated)
{
MessageBeep(0);
Sleep(1000);
ServiceThread->ProcessRequests(false);
}
}
//---------------------------------------------------------------------------


//---------------------------------------------------------------------------
#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <SysUtils.hpp>
#include <Classes.hpp>
#include <SvcMgr.hpp>
#include <vcl.h>
//---------------------------------------------------------------------------
class TBeepService : public TService
{
__published: // IDE-managed Components
void __fastcall ServiceExecute(TService *Sender);
private: // User declarations
public: // User declarations
__fastcall TBeepService(TComponent* Owner);
TServiceController __fastcall GetServiceController(void);

friend void __stdcall ServiceController(unsigned CtrlCode);
};
//---------------------------------------------------------------------------
extern PACKAGE TBeepService *BeepService;
//---------------------------------------------------------------------------
#endif

Во время компиляции выдает ошибку

[C++ Error] Unit1.cpp(26): E2316 '_fastcall TService1::ServiceExecute(TService *)' is not a member of 'TService1'

Что за ошибка как ее исправить?

чет я не наблюдаю в твоем исходнике TService1 нигде sad.gif
или исходник не весь?
jon
Отправлено: 08.12.2006, 14:40


Ученик-кочегар

Группа: Участник
Сообщений: 20



Все сервис получился заработал.
Но проблема одна осталось.
Хочу программно выключать комп по времени все работает но когда комп находится в блокировке даже программа-сервис не помогает. Комп не выключает сервис . Как сделать подскажите.

Вернуться в Вопросы программирования в C++Builder