GuRu |
Отправлено: 17.07.2003, 18:53 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 5
|
Здраствуйте... у меня возникла проблема при использовании компонента IBEvents...
возможно я делаю что-то не так...подскажите пожалуйста...
// таблица
CREATE TABLE N_TABLE(
N integer
)
//триггер
CREATE TRIGGER T_TABLE FOR N_TABLE
AFTER INSERT AS
BEGIN
POST_EVENT "INSERT N_TABLE";
END
...произвожу подключение к БД...
IBEvents1->Events->Add("INSERT N_TABLE");
IBEvents1->Registered=true
void __fastcall TForm1::IBEvents1EventAlert(TObject *Sender,
AnsiString EventName, int EventCount, bool &CancelAlerts)
{
//... какое-то действие
}
... в результете получаю ошибку! при попытке запустить программу |
|
Гость_pasha |
Отправлено: 19.07.2003, 13:21 |
|
Не зарегистрирован
|
Приведите код.
У меня все работает:
CODE |
//---------------------------------------------------------------------------
void __fastcall TForm1::IBEvents1EventAlert(TObject *Sender,
AnsiString EventName, int EventCount, bool &CancelAlerts)
{
if(EventName == "BreakWork")
ShowMessage("PostMessage_BreakWork !");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
IBTable1->Open();
IBEvents1->Events->Add("BreakWork");
IBEvents1->Registered = true;
}
//------------------------------------------------------
|
Единственное, это в триггере поставьте одинарные кавычки
и наверное лучше имя события без пробела.
CREATE TRIGGER AI_N_TABLE FOR N_TABLE
AFTER INSERT AS
BEGIN
POST_EVENT 'BreakWork';
END
Заметил, что менее глючно все работает, если
у IBEvents изначально стоит AutoRegister в true
и событие в Events уже зарегистрировано в Events
(а не добавляется по ходу программы) и
еще имя событие регистрочувствительное.
Отредактировано Admin — 19/07/2003, 14:25 |
|
|