Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.12.2009, 08:57   #1
Gypsy
Пользователь
 
Регистрация: 16.10.2009
Сообщений: 42
По умолчанию Назначение обработчика события

Здравствуйте!
Есть такая проблема. К проге подключаю внешний модуль, где есть класс TStServer. Событию OnUpdateBidAsk хочу назначить обработчик - выдает ошибку [Pascal Error] unit_main.pas(1063): E2009 Incompatible types: 'Parameter lists differ'.
Код:
type TSmart = class (TStServer)
procedure UpdateBidAsk(Sender: TObject; symbol: widestring; row: integer; nrows:integer; bid: double; bidsize: double; ask: double; asksize: double);
end;

imlementation
procedure TSmart.UpdateBidAsk(Sender: TObject; symbol: widestring; row: integer; nrows:integer; bid: double; bidsize: double; ask: double; asksize: double);
begin
Form2.Memo1.Lines.Add('1'); // по событию просто добавляем '1' в мемо1
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
SmartCom:=TSmart.Create(Self);
SmartCom.OnUpdateBidAsk:=SmartCom.U pdateBidAsk; // ВОТ ЗДЕСЬ ВЫДАЕТ ОШИБКУ!
end;

Профи помогите, второй день не могу понять.
Gypsy вне форума Ответить с цитированием
Старый 22.12.2009, 09:19   #2
Greek9000
Форумчанин
 
Регистрация: 01.09.2009
Сообщений: 151
По умолчанию

Попробуйте так:
Код:
// Надо объявить процедурный тип для свойства
type
  TMyBidAskUpdEvent = procedure (Sender: TObject; symbol: widestring; row, nrows:integer; bid, bidsize, ask, asksize: double); of object;

// потом внутри класса объявить свойство
type TSmart = class (TStServer)
  private
  FOnUpdateBidAsk:TMyBidAskUpdEvent;
  //...
  public
  // ...
  property OnUpdateBidAsk:TMyBidAskUpdEvent read FOnUpdateBidAsk write FOnUpdateBidAsk;
end;
Greek9000 вне форума Ответить с цитированием
Старый 22.12.2009, 09:50   #3
Gypsy
Пользователь
 
Регистрация: 16.10.2009
Сообщений: 42
По умолчанию

Greek9000! Спасибо, выручил! Пашет!
Gypsy вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамическое создание обработчика события tramvajman Компоненты Delphi 8 20.10.2010 10:41
динамическое создание обработчика события Мэс Общие вопросы Delphi 4 07.09.2009 01:04
Переопределением обработчика события при создании MDIChild 8alig8 Общие вопросы Delphi 1 18.06.2009 18:03
Назначение события EA_Sports Общие вопросы Delphi 2 11.03.2007 00:45
назначение модераторов Alar О форуме и сайтах клуба 25 08.12.2006 18:30