Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Single Post  Topic: Delphi. Как присвоить обработчик события в runtime? 
Author Message
SCHMaster



PostPosted: Fri Oct 05, 2007 00:11    Post subject: Reply with quote

... в этом случае (код от Deca) обработка события не привязываетс к объекту (форме), т.е. для юзания в прогах без форм именно то, че нужно.
А стандартные делфевые VCL методы обработки события предусматривают привязку к объекту.
В кач. примера - тот же код от Deca, но с "привязкой".
Добавлю...

Code:
type
  TIEProgressEvent2 = procedure(Sender: TObject; Per: integer) of object; <--- Вот ОНО

  TProgressProvider = class
  public
    constructor Create(AEvent: TIEProgressEvent2);
    procedure IOProgress(Sender: TObject; Per: integer);
  private
    FEvent: TIEProgressEvent2;
  end;

constructor TProgressProvider.Create(AEvent: TIEProgressEvent2);
begin
  inherited Create;
  FEvent := AEvent
end;

procedure TProgressProvider.IOProgress(Sender: TObject; Per: integer);
begin
  if Assigned(FEvent) then FEvent(Sender, Per);
end;

              Вот ОНО
                 |
procedure TMyParentObject.IOProgress(Sender: TObject; per: integer);
begin

end;


Если непонял, мыль код - разберемся - schmСОБАКАukr.net
_________________
Хороший юзер - мертвый юзер
Мои работы
View user's profile Send private message Visit poster's website


Powered by phpBB © 2001, 2005 phpBB Group