unit afwLongProcessVisualizer; interface uses afwInterfaces, l3Base, l3AsincMessageWindow ; type TafwLongProcessVisualizer = class(Tl3Base, IafwLongProcessVisualizer) private // private fields f_Wnd : Tl3AsincMessageWindow; {* Собственно окно с сообщением.} protected // overridden protected methods procedure Cleanup; override; {* Функция очистки полей объекта. } public // public methods constructor Create(const aCaption: IafwCString; anAttachWnd: THandle = 0; anInitialTimeout: Cardinal = afw_lpwTimeout; anImageList: TafwCustomImageList = nil; anImageIndex: Integer = -1); reintroduce; {* Создает экземпляр класса. } class function Make(const aCaption: IafwCString; anAttachWnd: THandle = 0; anInitialTimeout: Cardinal = afw_lpwTimeout; anImageList: TafwCustomImageList = nil; anImageIndex: Integer = -1): IafwLongProcessVisualizer; reintroduce; {* Создает экземпляр класса в виде интерфейса IafwLongProcessVisualizer. } end;//TafwLongProcessVisualizer implementation // start class TafwLongProcessVisualizer constructor TafwLongProcessVisualizer.Create(const aCaption: IafwCString; anAttachWnd: THandle = 0; anInitialTimeout: Cardinal = afw_lpwTimeout; anImageList: TafwCustomImageList = nil; anImageIndex: Integer = -1); begin inherited Create; f_Wnd := Tl3AsincMessageWindow.Create(aCaption, anImageList, anImageIndex, anAttachWnd, anInitialTimeout); end;//TafwLongProcessVisualizer.Create class function TafwLongProcessVisualizer.Make(const aCaption: IafwCString; anAttachWnd: THandle = 0; anInitialTimeout: Cardinal = afw_lpwTimeout; anImageList: TafwCustomImageList = nil; anImageIndex: Integer = -1): IafwLongProcessVisualizer; var l_Inst : TafwLongProcessVisualizer; begin l_Inst := Create(aCaption, anAttachWnd, anInitialTimeout, anImageList, anImageIndex); try Result := l_Inst; finally l_Inst.Free; end;//try..finally end; procedure TafwLongProcessVisualizer.Cleanup; begin FreeAndNil(f_Wnd); inherited; end;//TafwLongProcessVisualizer.Cleanup end.
Блог человека, который 18-ть лет программирует на Delphi. И 25 лет программирует вообще. VCL, UML, MDA, тесты. Это не "учебник", это - "заметки на полях".
Комментариев нет:
Отправить комментарий