Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.11.20;
Скачать: CL | DM;

Вниз

Классы   Найти похожие ветки 

 
Yus   (2005-10-27 21:57) [0]

Мастера, подскажите как сделать, чтобы класс СoolT передавал число 5 в procedure OnCycle Form1, делаю так :

Unit UnitCoolT;
type
 TCycleEvent = procedure(Sender: TObject; NextIndex: Integer) of object;

 TCoolT = class(TComponent)
private
  FOnCycle: TCycleEvent;
Public
  procedure TCoolT.Cycle;
   property OnCycle: TCycleEvent read FOnCycle write FOnCycle;
End;

procedure TCoolT.Cycle;
begin
 if Assigned(FOnCycle) then      FOnCycle(Self, 5);
end;

uses UnitCoolT, …..;

type
 TForm1 = class(TForm)
   Button1: TButton;
   Button2: TButton;
   procedure Button1Click(Sender: TObject);
   procedure Button2Click(Sender: TObject);
   procedure Ind(PosInd:integer);
   procedure OnCycle (Sender: TObject; b:integer);
   procedure Timer1Timer(Sender: TObject);
 private
  CoolT: TCoolT;

 public
 end;
procedure Tform1.OnCycle (Sender: TObject; b:integer);

Как сделать правильно ???


 
Fay ©   (2005-10-27 23:14) [1]

type
TForm1 = class(TForm)
  Button1: TButton;
  Button2: TButton;
  procedure Button1Click(Sender: TObject);
  procedure Button2Click(Sender: TObject);
  procedure Ind(PosInd:integer);
  procedure OnCycle (Sender: TObject; NextIndex: Integer);
  procedure Timer1Timer(Sender: TObject);
private
 CoolT: TCoolT;

public
end;


З.Ы.
Написать слово "правильно" без "е" - офигенный героизм на этом сайте.
Прямо приятно читать!


 
DiamondShark ©   (2005-10-27 23:39) [2]


> Fay ©   (27.10.05 23:14) [1]

И что дальше?


> Yus   (27.10.05 21:57)  
> Как сделать правильно ???

Для начала, привести код к виду, пригодному к компиляции.
Потом создать экземпляр TCoolT, его свойству OnCycle присвоить ссылку на Form1.OnCycle, и где-нибудь вызвать метод Cycle.


 
Fay ©   (2005-10-28 00:02) [3]

2 DiamondShark ©   (27.10.05 23:39) [2]
Это считается нормальным - сначала спросить "И что дальше?", а потом это "дальше" разжевать?
К тому же мне не ясно, как реализовать "его свойству OnCycle присвоить ссылку на Form1.OnCycle" без [1].

Мне кажется, что автору помешала неправильно объявленная OnCycle, а что с ней делать дальше было известно ещё до того, как класс TCoolT был описан в программе.


 
Yus   (2005-10-28 06:13) [4]

Может я неправильно задал вопрос, за что извените?
Как передать событие от одного класса в другой? Использовать абстрактную процедуру не хочется т.к. придется наследовать этот класс. Возможно ли использовать обработку события. Теоретически вроде можно, ведь так работают компоненты, а практически не разу не делал. Подскажите как это сделать. Если можно в примере.



Страницы: 1 вся ветка

Текущий архив: 2005.11.20;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.058 c
8-1120220228
Radgar
2005-07-01 16:17
2005.11.20
Заливка (Ведро)


2-1130505625
gvv
2005-10-28 17:20
2005.11.20
График Gantt


14-1130497437
штамм
2005-10-28 15:03
2005.11.20
На каком C приводятся примеры в Windows SDK ?


4-1126824342
JJohn
2005-09-16 02:45
2005.11.20
WriteFile & ReadFile


14-1130261828
Джо
2005-10-25 21:37
2005.11.20
Perl-функция pack