Class TmdCustomWinPopup (unit mdMailSlot) |
For backward compatibility Removed now when the TmdCustomMailSlot have a WaitThread build in! (* TmdAutoMailSlot = Class(TmdMailSlot) Private FTimer : TTimer; FMessageList : TStringList; FMessageAvail : TmsMessageAvail; Procedure TimerProc(Sender : TObject); Protected Procedure AddMessage(Const Msg : String); Function GetMessage : String; Procedure DoMessageAvail(Const Msg : String); Virtual; Public Constructor Create(AOwner : TComponent); Override; Procedure Open; Override; Procedure Close; Override; Published Property OnMessageAvail : TmsMessageAvail Read FMessageAvail Write FMessageAvail; end; *) ......................................................... TmdCustomWinPopup .........................................................
Constructors |
Functions |
Properties |
Events |
Variables |
Constructors |
......................................................... TmdAutoMailSlot ......................................................... (* Constructor TmdAutoMailSlot.Create(AOwner : TComponent); Begin FTimer := NIL; FMessageList := NIL; Inherited Create(AOwner); end; Procedure TmdAutoMailSlot.AddMessage(Const Msg : String); Begin If FMessageList = NIL Then FMessageList := TStringList.Create; FMessageList.Add(Msg); end; Function TmdAutoMailSlot.GetMessage : String; Begin Result := ''; If FMessageList <> NIL Then Begin If FMessageList.Count > 0 Then Begin Result := FMessageList[0]; FMessageList.Delete(0); end; If FMessageList.Count = 0 Then Begin FMessageList.Free; FMessageList := NIL; end; end; end; Procedure TmdAutoMailSlot.Open; Begin Inherited Open; If Active AND (NOT (csDesigning IN ComponentState))Then Begin If FTimer = NIL Then FTimer := TTimer.Create(Self); FTimer.Interval := 1000; FTimer.OnTimer := TimerProc; end; end; Procedure TmdAutoMailSlot.Close; Begin If FTimer <> NIL Then FTimer.Free; FTimer := NIL; Inherited Close; end; Procedure TmdAutoMailSlot.TimerProc(Sender : TObject); Begin While Waiting > 0 do AddMessage(ReadNext); If (FMessageList <> NIL) AND (FMessageList.Count > 0) Then DoMessageAvail(GetMessage); end; Procedure TmdAutoMailSlot.DoMessageAvail(Const Msg : String); Begin If Assigned(FMessageAvail) Then FMessageAvail(Self, Msg); end; *) ......................................................... TmdCustomWinPopup ......................................................... Overriden functions
Functions |
New functions
Properties |
Events |
Should be read only...
Variables |