|
|
@@ -1,475 +1,486 @@
|
|
|
unit SystemMessageFrm;
|
|
|
-
|
|
|
-interface
|
|
|
-
|
|
|
-uses
|
|
|
- RealICQSkinFrm, RealICQColors, RealICQClient, RealICQUtils, SysUtils,
|
|
|
- Windows, Messages, Variants, Classes, Graphics, Controls, Forms, MD5,
|
|
|
- ExtCtrls, RealICQRoundBorderPanel, StdCtrls, Buttons, RealICQButton,
|
|
|
- OleCtrls, SHDocVw, MSHTML, ActiveX, ShellAPI, StrUtils, GIFImage, RealICQModel;
|
|
|
-
|
|
|
-type
|
|
|
- TSystemMessageForm = class(TRealICQSkinForm)
|
|
|
- pnlClient: TPanel;
|
|
|
- rndContent: TRealICQRoundBorderPanel;
|
|
|
- pnlForWebBrowser: TPanel;
|
|
|
- WebBrowser: TWebBrowser;
|
|
|
- pnlForHideWebBrowser: TPanel;
|
|
|
- AutoCloseWindowTimer: TTimer;
|
|
|
- Image1: TImage;
|
|
|
- btClose: TRealICQButton;
|
|
|
- btShowDetail: TRealICQButton;
|
|
|
- procedure WebBrowserBeforeNavigate2(ASender: TObject;
|
|
|
- const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
|
|
|
- Headers: OleVariant; var Cancel: WordBool);
|
|
|
- procedure AutoCloseWindowTimerTimer(Sender: TObject);
|
|
|
- procedure FormShow(Sender: TObject);
|
|
|
- procedure btShowDetailClick(Sender: TObject);
|
|
|
- procedure WebBrowserDocumentComplete(ASender: TObject;
|
|
|
- const pDisp: IDispatch; var URL: OleVariant);
|
|
|
- procedure btCloseClick(Sender: TObject);
|
|
|
- procedure FormDestroy(Sender: TObject);
|
|
|
- procedure FormCreate(Sender: TObject);
|
|
|
- procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
|
|
- procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
|
|
|
- private
|
|
|
- FMessageType: TRealICQSystemMessageType;
|
|
|
- FPosition: TRealICQSystemMessagePosition;
|
|
|
- FTitle,
|
|
|
- FContent,
|
|
|
- FUrl: String;
|
|
|
- FConfirm:Boolean;
|
|
|
- FAutoCloseTime: Integer;
|
|
|
- FSoureServerID:String; //发送系统消息的服务器ID;
|
|
|
- FBookingID,FMessageID,FBranchID:Cardinal;//会议预约ID,消息ID,部门ID
|
|
|
- procedure ShowSystemMessage;
|
|
|
- procedure SetDOMStyle(Doc:IHTMLDocument2);
|
|
|
- protected
|
|
|
- procedure CreateParams(var Params: TCreateParams); override;
|
|
|
- public
|
|
|
- procedure ChangeUIColor(AColor: TColor); override;
|
|
|
- end;
|
|
|
-
|
|
|
- procedure OpenSystemMessageForm(AMessageID: String;
|
|
|
- AMessageType: TRealICQSystemMessageType; APosition: TRealICQSystemMessagePosition;
|
|
|
- ALeft, ATop, AWidth, AHeight: Integer;
|
|
|
- ATitle, AContent, AUrl: String;
|
|
|
- AAutoCloseTime: Integer);
|
|
|
- procedure ChangeSystemMessageFormsColor(AColor: TColor);
|
|
|
- procedure CloseAllChangeSystemMessageForms;
|
|
|
- procedure ChangeSystemMessageFormsSkin(ASkinName: String);
|
|
|
-
|
|
|
-implementation
|
|
|
-
|
|
|
-uses MainFrm, AppCentreImport, RealICQUtility;
|
|
|
-
|
|
|
-var
|
|
|
- ShowTastBarButton: Boolean;
|
|
|
+
|
|
|
+interface
|
|
|
+
|
|
|
+uses
|
|
|
+ RealICQSkinFrm, RealICQColors, RealICQClient, RealICQUtils, SysUtils, Windows,
|
|
|
+ Messages, Variants, Classes, Graphics, Controls, Forms, MD5, ExtCtrls,
|
|
|
+ RealICQRoundBorderPanel, StdCtrls, Buttons, RealICQButton, OleCtrls, SHDocVw,
|
|
|
+ MSHTML, ActiveX, ShellAPI, StrUtils, GIFImage, RealICQModel, superobject;
|
|
|
+
|
|
|
+type
|
|
|
+ TSystemMessageForm = class(TRealICQSkinForm)
|
|
|
+ pnlClient: TPanel;
|
|
|
+ rndContent: TRealICQRoundBorderPanel;
|
|
|
+ pnlForWebBrowser: TPanel;
|
|
|
+ WebBrowser: TWebBrowser;
|
|
|
+ pnlForHideWebBrowser: TPanel;
|
|
|
+ AutoCloseWindowTimer: TTimer;
|
|
|
+ Image1: TImage;
|
|
|
+ btClose: TRealICQButton;
|
|
|
+ btShowDetail: TRealICQButton;
|
|
|
+ procedure WebBrowserBeforeNavigate2(ASender: TObject; const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData, Headers: OleVariant; var Cancel: WordBool);
|
|
|
+ procedure AutoCloseWindowTimerTimer(Sender: TObject);
|
|
|
+ procedure FormShow(Sender: TObject);
|
|
|
+ procedure btShowDetailClick(Sender: TObject);
|
|
|
+ procedure WebBrowserDocumentComplete(ASender: TObject; const pDisp: IDispatch; var URL: OleVariant);
|
|
|
+ procedure btCloseClick(Sender: TObject);
|
|
|
+ procedure FormDestroy(Sender: TObject);
|
|
|
+ procedure FormCreate(Sender: TObject);
|
|
|
+ procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
|
|
+ procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
|
|
|
+ private
|
|
|
+ FMessageType: TRealICQSystemMessageType;
|
|
|
+ FPosition: TRealICQSystemMessagePosition;
|
|
|
+ FTitle, FContent, FUrl: string;
|
|
|
+ FConfirm: Boolean;
|
|
|
+ FAutoCloseTime: Integer;
|
|
|
+ FSoureServerID: string; //发送系统消息的服务器ID;
|
|
|
+
|
|
|
+ FBookingID, FMessageID, FBranchID: Cardinal; //会议预约ID,消息ID,部门ID
|
|
|
+
|
|
|
+ procedure ShowSystemMessage;
|
|
|
+ procedure SetDOMStyle(Doc: IHTMLDocument2);
|
|
|
+ protected
|
|
|
+ procedure CreateParams(var Params: TCreateParams); override;
|
|
|
+ public
|
|
|
+ procedure ChangeUIColor(AColor: TColor); override;
|
|
|
+ end;
|
|
|
+
|
|
|
+procedure OpenSystemMessageForm(AMessageID: string; AMessageType: TRealICQSystemMessageType; APosition: TRealICQSystemMessagePosition; ALeft, ATop, AWidth, AHeight: Integer; ATitle, AContent, AUrl: string; AAutoCloseTime: Integer);
|
|
|
+
|
|
|
+procedure ChangeSystemMessageFormsColor(AColor: TColor);
|
|
|
+
|
|
|
+procedure CloseAllChangeSystemMessageForms;
|
|
|
+
|
|
|
+procedure ChangeSystemMessageFormsSkin(ASkinName: string);
|
|
|
+
|
|
|
+implementation
|
|
|
+
|
|
|
+uses
|
|
|
+ MainFrm, AppCentreImport, RealICQUtility, GuideView, ConditionConfig;
|
|
|
+
|
|
|
+var
|
|
|
+ ShowTastBarButton: Boolean;
|
|
|
SystemMessageForms: TStringList;
|
|
|
|
|
|
//------------------------------------------------------------------------------
|
|
|
-procedure ChangeSystemMessageFormsSkin(ASkinName: String);
|
|
|
-var
|
|
|
- iLoop: Integer;
|
|
|
- AForm: TSystemMessageForm;
|
|
|
- OldSkin: String;
|
|
|
-begin
|
|
|
- ASkinName := AnsiReplaceText(ASkinName, 'MainForm', '');
|
|
|
- for iLoop := 0 to SystemMessageForms.Count - 1 do
|
|
|
- begin
|
|
|
- AForm := SystemMessageForms.Objects[iLoop] as TSystemMessageForm;
|
|
|
- OldSkin := AForm.SkinName;
|
|
|
- try
|
|
|
- AForm.SkinName := ASkinName;
|
|
|
- except
|
|
|
- AForm.SkinName := OldSkin;
|
|
|
- end;
|
|
|
- AForm.ChangeUIColor(MainForm.UIMainColor);
|
|
|
- end;
|
|
|
+procedure ChangeSystemMessageFormsSkin(ASkinName: string);
|
|
|
+var
|
|
|
+ iLoop: Integer;
|
|
|
+ AForm: TSystemMessageForm;
|
|
|
+ OldSkin: string;
|
|
|
+begin
|
|
|
+ ASkinName := AnsiReplaceText(ASkinName, 'MainForm', '');
|
|
|
+ for iLoop := 0 to SystemMessageForms.Count - 1 do
|
|
|
+ begin
|
|
|
+ AForm := SystemMessageForms.Objects[iLoop] as TSystemMessageForm;
|
|
|
+ OldSkin := AForm.SkinName;
|
|
|
+ try
|
|
|
+ AForm.SkinName := ASkinName;
|
|
|
+ except
|
|
|
+ AForm.SkinName := OldSkin;
|
|
|
+ end;
|
|
|
+ AForm.ChangeUIColor(MainForm.UIMainColor);
|
|
|
+ end;
|
|
|
end;
|
|
|
|
|
|
//------------------------------------------------------------------------------
|
|
|
-procedure ChangeSystemMessageFormsColor(AColor: TColor);
|
|
|
-var
|
|
|
- iLoop: Integer;
|
|
|
- AForm: TSystemMessageForm;
|
|
|
-begin
|
|
|
- for iLoop := 0 to SystemMessageForms.Count - 1 do
|
|
|
- begin
|
|
|
- AForm := SystemMessageForms.Objects[iLoop] as TSystemMessageForm;
|
|
|
- AForm.ChangeUIColor(AColor);
|
|
|
- end;
|
|
|
+procedure ChangeSystemMessageFormsColor(AColor: TColor);
|
|
|
+var
|
|
|
+ iLoop: Integer;
|
|
|
+ AForm: TSystemMessageForm;
|
|
|
+begin
|
|
|
+ for iLoop := 0 to SystemMessageForms.Count - 1 do
|
|
|
+ begin
|
|
|
+ AForm := SystemMessageForms.Objects[iLoop] as TSystemMessageForm;
|
|
|
+ AForm.ChangeUIColor(AColor);
|
|
|
+ end;
|
|
|
end;
|
|
|
|
|
|
//------------------------------------------------------------------------------
|
|
|
-procedure CloseAllChangeSystemMessageForms;
|
|
|
-var
|
|
|
- iLoop: Integer;
|
|
|
- AForm: TSystemMessageForm;
|
|
|
-begin
|
|
|
- for iLoop := SystemMessageForms.Count - 1 downto 0 do
|
|
|
- begin
|
|
|
- AForm := SystemMessageForms.Objects[iLoop] as TSystemMessageForm;
|
|
|
- FreeAndNil(AForm);
|
|
|
- end;
|
|
|
+procedure CloseAllChangeSystemMessageForms;
|
|
|
+var
|
|
|
+ iLoop: Integer;
|
|
|
+ AForm: TSystemMessageForm;
|
|
|
+begin
|
|
|
+ for iLoop := SystemMessageForms.Count - 1 downto 0 do
|
|
|
+ begin
|
|
|
+ AForm := SystemMessageForms.Objects[iLoop] as TSystemMessageForm;
|
|
|
+ FreeAndNil(AForm);
|
|
|
+ end;
|
|
|
end;
|
|
|
|
|
|
//------------------------------------------------------------------------------
|
|
|
-procedure OpenSystemMessageForm(AMessageID: String;
|
|
|
- AMessageType: TRealICQSystemMessageType; APosition: TRealICQSystemMessagePosition;
|
|
|
- ALeft, ATop, AWidth, AHeight: Integer;
|
|
|
- ATitle, AContent, AUrl: String;
|
|
|
- AAutoCloseTime: Integer);
|
|
|
-var
|
|
|
- AForm,
|
|
|
- PrevForm: TSystemMessageForm;
|
|
|
- iIndex,
|
|
|
- iLoop: Integer;
|
|
|
- Parameters:TStringList;
|
|
|
-begin
|
|
|
- iIndex := SystemMessageForms.IndexOf(AMessageID);
|
|
|
- if iIndex >= 0 then
|
|
|
- begin
|
|
|
- AForm := SystemMessageForms.Objects[iIndex] as TSystemMessageForm;
|
|
|
- AForm.BringToFront;
|
|
|
- Exit;
|
|
|
- end
|
|
|
- else
|
|
|
- begin
|
|
|
- PrevForm := nil;
|
|
|
- for iLoop := SystemMessageForms.Count - 1 downto 0 do
|
|
|
- begin
|
|
|
- PrevForm := SystemMessageForms.Objects[iLoop] as TSystemMessageForm;
|
|
|
- if PrevForm.FPosition = APosition then
|
|
|
- Break
|
|
|
- else
|
|
|
- PrevForm := nil;
|
|
|
- end;
|
|
|
-
|
|
|
- AForm := nil;
|
|
|
-
|
|
|
- case APosition of
|
|
|
- mpCenter:
|
|
|
- begin
|
|
|
- ShowTastBarButton := True;
|
|
|
- AForm := TSystemMessageForm.Create(Application);
|
|
|
- AForm.Width := AWidth;
|
|
|
- AForm.Height := AHeight;
|
|
|
- AForm.Left := (Screen.WorkAreaWidth - AForm.Width) div 2;
|
|
|
- AForm.Top := (Screen.WorkAreaHeight - AForm.Height) div 2;
|
|
|
- AForm.FormStyle := fsNormal;
|
|
|
- end;
|
|
|
- mpRightBottom:
|
|
|
- begin
|
|
|
- ShowTastBarButton := False;
|
|
|
- AForm := TSystemMessageForm.Create(Application);
|
|
|
- AForm.Width := AWidth;
|
|
|
- AForm.Height := AHeight;
|
|
|
- if (True) or (PrevForm = nil) then
|
|
|
- begin
|
|
|
- AForm.Left := (Screen.WorkAreaWidth - AForm.Width) - 3;
|
|
|
- AForm.Top := (Screen.WorkAreaHeight - AForm.Height) - 3;
|
|
|
- end
|
|
|
- else if (PrevForm.Top - AForm.Height - 3 < 0) then
|
|
|
- begin
|
|
|
- AForm.Left := PrevForm.Left - AForm.Width - 3;
|
|
|
- AForm.Top := (Screen.WorkAreaHeight - AForm.Height) - 3;
|
|
|
- end
|
|
|
- else
|
|
|
- begin
|
|
|
- AForm.Left := PrevForm.Left;
|
|
|
- AForm.Top := PrevForm.Top - AForm.Height - 3;
|
|
|
- end;
|
|
|
- if AForm.Left < 0 then
|
|
|
- begin
|
|
|
- AForm.Left := (Screen.WorkAreaWidth - AForm.Width) - 3;
|
|
|
- AForm.Top := (Screen.WorkAreaHeight - AForm.Height) - 3;
|
|
|
- end;
|
|
|
-
|
|
|
- AForm.FormStyle := fsStayOnTop;
|
|
|
- AForm.CanMoveWindow := False;
|
|
|
- end;
|
|
|
- mpCustom:
|
|
|
- begin
|
|
|
- ShowTastBarButton := True;
|
|
|
- AForm := TSystemMessageForm.Create(Application);
|
|
|
- AForm.Width := AWidth;
|
|
|
- AForm.Height := AHeight;
|
|
|
- AForm.Left := ALeft;
|
|
|
- AForm.Top := ATop;
|
|
|
- AForm.FormStyle := fsNormal;
|
|
|
- end;
|
|
|
- end;
|
|
|
- end;
|
|
|
-
|
|
|
- iIndex := SystemMessageForms.IndexOfObject(AForm);
|
|
|
- if iIndex >= 0 then SystemMessageForms[iIndex] := AMessageID;
|
|
|
- AForm.FMessageType := AMessageType;
|
|
|
- AForm.FPosition := APosition;
|
|
|
- AForm.FMessageID :=StrToInt(AMessageID);
|
|
|
- AForm.FTitle := ATitle;
|
|
|
- AForm.FContent := AContent;
|
|
|
- AForm.FUrl := AUrl;
|
|
|
- AForm.FAutoCloseTime := AAutoCloseTime;
|
|
|
- AForm.ShowSystemMessage;
|
|
|
- AForm.FConfirm:=False;
|
|
|
- if AForm.FMessageType =mtConfirmMsg then
|
|
|
- begin
|
|
|
- try
|
|
|
- Parameters:=SplitString(AUrl,char(10));
|
|
|
- AForm.FSoureServerID:=Parameters[0];
|
|
|
- AForm.FBookingID:=StrToInt(Parameters[1]);
|
|
|
- AForm.FBranchID:=StrToInt(Parameters[2]);
|
|
|
- finally
|
|
|
- FreeAndNil(Parameters);
|
|
|
- end;
|
|
|
- end;
|
|
|
- AForm.Show;
|
|
|
- AForm.BringToFront;
|
|
|
+procedure OpenSystemMessageForm(AMessageID: string; AMessageType: TRealICQSystemMessageType; APosition: TRealICQSystemMessagePosition; ALeft, ATop, AWidth, AHeight: Integer; ATitle, AContent, AUrl: string; AAutoCloseTime: Integer);
|
|
|
+var
|
|
|
+ AForm, PrevForm: TSystemMessageForm;
|
|
|
+ iIndex, iLoop: Integer;
|
|
|
+ Parameters: TStringList;
|
|
|
+begin
|
|
|
+ iIndex := SystemMessageForms.IndexOf(AMessageID);
|
|
|
+ if iIndex >= 0 then
|
|
|
+ begin
|
|
|
+ AForm := SystemMessageForms.Objects[iIndex] as TSystemMessageForm;
|
|
|
+ AForm.BringToFront;
|
|
|
+ Exit;
|
|
|
+ end
|
|
|
+ else
|
|
|
+ begin
|
|
|
+ PrevForm := nil;
|
|
|
+ for iLoop := SystemMessageForms.Count - 1 downto 0 do
|
|
|
+ begin
|
|
|
+ PrevForm := SystemMessageForms.Objects[iLoop] as TSystemMessageForm;
|
|
|
+ if PrevForm.FPosition = APosition then
|
|
|
+ Break
|
|
|
+ else
|
|
|
+ PrevForm := nil;
|
|
|
+ end;
|
|
|
+
|
|
|
+ AForm := nil;
|
|
|
+
|
|
|
+ case APosition of
|
|
|
+ mpCenter:
|
|
|
+ begin
|
|
|
+ ShowTastBarButton := True;
|
|
|
+ AForm := TSystemMessageForm.Create(Application);
|
|
|
+ AForm.Width := AWidth;
|
|
|
+ AForm.Height := AHeight;
|
|
|
+ AForm.Left := (Screen.WorkAreaWidth - AForm.Width) div 2;
|
|
|
+ AForm.Top := (Screen.WorkAreaHeight - AForm.Height) div 2;
|
|
|
+ AForm.FormStyle := fsNormal;
|
|
|
+ end;
|
|
|
+ mpRightBottom:
|
|
|
+ begin
|
|
|
+ ShowTastBarButton := False;
|
|
|
+ AForm := TSystemMessageForm.Create(Application);
|
|
|
+ AForm.Width := AWidth;
|
|
|
+ AForm.Height := AHeight;
|
|
|
+ if (True) or (PrevForm = nil) then
|
|
|
+ begin
|
|
|
+ AForm.Left := (Screen.WorkAreaWidth - AForm.Width) - 3;
|
|
|
+ AForm.Top := (Screen.WorkAreaHeight - AForm.Height) - 3;
|
|
|
+ end
|
|
|
+ else if (PrevForm.Top - AForm.Height - 3 < 0) then
|
|
|
+ begin
|
|
|
+ AForm.Left := PrevForm.Left - AForm.Width - 3;
|
|
|
+ AForm.Top := (Screen.WorkAreaHeight - AForm.Height) - 3;
|
|
|
+ end
|
|
|
+ else
|
|
|
+ begin
|
|
|
+ AForm.Left := PrevForm.Left;
|
|
|
+ AForm.Top := PrevForm.Top - AForm.Height - 3;
|
|
|
+ end;
|
|
|
+ if AForm.Left < 0 then
|
|
|
+ begin
|
|
|
+ AForm.Left := (Screen.WorkAreaWidth - AForm.Width) - 3;
|
|
|
+ AForm.Top := (Screen.WorkAreaHeight - AForm.Height) - 3;
|
|
|
+ end;
|
|
|
+
|
|
|
+ AForm.FormStyle := fsStayOnTop;
|
|
|
+ AForm.CanMoveWindow := False;
|
|
|
+ end;
|
|
|
+ mpCustom:
|
|
|
+ begin
|
|
|
+ ShowTastBarButton := True;
|
|
|
+ AForm := TSystemMessageForm.Create(Application);
|
|
|
+ AForm.Width := AWidth;
|
|
|
+ AForm.Height := AHeight;
|
|
|
+ AForm.Left := ALeft;
|
|
|
+ AForm.Top := ATop;
|
|
|
+ AForm.FormStyle := fsNormal;
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+
|
|
|
+ iIndex := SystemMessageForms.IndexOfObject(AForm);
|
|
|
+ if iIndex >= 0 then
|
|
|
+ SystemMessageForms[iIndex] := AMessageID;
|
|
|
+ AForm.FMessageType := AMessageType;
|
|
|
+ AForm.FPosition := APosition;
|
|
|
+ AForm.FMessageID := StrToInt(AMessageID);
|
|
|
+ AForm.FTitle := ATitle;
|
|
|
+ AForm.FContent := AContent;
|
|
|
+ AForm.FUrl := AUrl;
|
|
|
+ AForm.FAutoCloseTime := AAutoCloseTime;
|
|
|
+ AForm.ShowSystemMessage;
|
|
|
+ AForm.FConfirm := False;
|
|
|
+ if AForm.FMessageType = mtConfirmMsg then
|
|
|
+ begin
|
|
|
+ try
|
|
|
+ Parameters := SplitString(AUrl, char(10));
|
|
|
+ AForm.FSoureServerID := Parameters[0];
|
|
|
+ AForm.FBookingID := StrToInt(Parameters[1]);
|
|
|
+ AForm.FBranchID := StrToInt(Parameters[2]);
|
|
|
+ finally
|
|
|
+ FreeAndNil(Parameters);
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+ AForm.Show;
|
|
|
+ AForm.BringToFront;
|
|
|
end;
|
|
|
|
|
|
{$R *.dfm}
|
|
|
|
|
|
{TSystemMessageForm}
|
|
|
//------------------------------------------------------------------------------
|
|
|
-procedure TSystemMessageForm.ShowSystemMessage;
|
|
|
-begin
|
|
|
- Caption := FTitle;
|
|
|
- btShowDetail.Visible := ((Length(Trim(FUrl)) > 0) and (FMessageType = mtBroadcast)) or (FMessageType =mtConfirmMsg);
|
|
|
- if FMessageType = mtAdvertisement then
|
|
|
- begin
|
|
|
- btShowDetail.Visible := False;
|
|
|
- FUrl := AnsiReplaceText(FUrl, '[%LoginName%]', MainForm.RealICQClient.LoginName);
|
|
|
- FUrl := AnsiReplaceText(FUrl, '[%Password%]', MainForm.RealICQClient.Password);
|
|
|
- FUrl := AnsiReplaceText(FUrl, '[%MD5_LoginName%]', MD5En(MainForm.RealICQClient.LoginName));
|
|
|
- FUrl := AnsiReplaceText(FUrl, '[%MD5_Password%]', MD5En(MainForm.RealICQClient.Password));
|
|
|
- FUrl := AnsiReplaceText(FUrl, '[%BranchID%]', MainForm.RealICQClient.Me.BranchID);
|
|
|
-
|
|
|
- WebBrowser.Navigate(FUrl);
|
|
|
- end
|
|
|
- else
|
|
|
- WebBrowser.Navigate('about:blank');
|
|
|
-
|
|
|
- if FMessageType =mtConfirmMsg then
|
|
|
- begin
|
|
|
- btShowDetail.Caption:='接受';
|
|
|
- end;
|
|
|
- btClose.Default := not btShowDetail.Visible;
|
|
|
+procedure TSystemMessageForm.ShowSystemMessage;
|
|
|
+begin
|
|
|
+ Caption := FTitle;
|
|
|
+ btShowDetail.Visible := ((Length(Trim(FUrl)) > 0) and (FMessageType = mtBroadcast)) or (FMessageType = mtConfirmMsg);
|
|
|
+ if FMessageType = mtAdvertisement then
|
|
|
+ begin
|
|
|
+ btShowDetail.Visible := False;
|
|
|
+ FUrl := AnsiReplaceText(FUrl, '[%LoginName%]', MainForm.RealICQClient.LoginName);
|
|
|
+ FUrl := AnsiReplaceText(FUrl, '[%Password%]', MainForm.RealICQClient.Password);
|
|
|
+ FUrl := AnsiReplaceText(FUrl, '[%MD5_LoginName%]', MD5En(MainForm.RealICQClient.LoginName));
|
|
|
+ FUrl := AnsiReplaceText(FUrl, '[%MD5_Password%]', MD5En(MainForm.RealICQClient.Password));
|
|
|
+ FUrl := AnsiReplaceText(FUrl, '[%BranchID%]', MainForm.RealICQClient.Me.BranchID);
|
|
|
+
|
|
|
+ WebBrowser.Navigate(FUrl);
|
|
|
+ end
|
|
|
+ else
|
|
|
+ WebBrowser.Navigate('about:blank');
|
|
|
+
|
|
|
+ if FMessageType = mtConfirmMsg then
|
|
|
+ begin
|
|
|
+ btShowDetail.Caption := '接受';
|
|
|
+ end;
|
|
|
+ btClose.Default := not btShowDetail.Visible;
|
|
|
end;
|
|
|
|
|
|
{设置WebBrowser的样式}
|
|
|
//------------------------------------------------------------------------------
|
|
|
-procedure TSystemMessageForm.SetDOMStyle(Doc:IHTMLDocument2);
|
|
|
-var
|
|
|
- v: Variant;
|
|
|
-begin
|
|
|
- if pnlForHideWebBrowser.Visible then
|
|
|
- begin
|
|
|
- if (Length(Trim(FContent)) > 0) and ((FMessageType = mtBroadcast)
|
|
|
- or (FMessageType=mtConfirmMsg)) then
|
|
|
- begin
|
|
|
- v := VarArrayCreate([0, 0], varVariant);
|
|
|
- v[0] := '<body scroll="no" bgcolor="#fdfdfd" link="#0000FF" vlink="#0000FF" alink="#0000FF" hlink="#0000FF" oncontextmenu="return false;" >'
|
|
|
- + FContent
|
|
|
- + '</body>';
|
|
|
- doc.write(PSafeArray(TVarData(v).VArray));
|
|
|
- end;
|
|
|
- end;
|
|
|
-
|
|
|
- Doc.body.style.cssText := 'word-break: break-all;';
|
|
|
- Doc.body.style.border :='0px solid #fdfdfd';
|
|
|
- Doc.body.style.margin :='0px';
|
|
|
- if (Length(Trim(FContent)) > 0) and ((FMessageType = mtBroadcast)
|
|
|
- or (FMessageType=mtConfirmMsg)) then
|
|
|
- begin
|
|
|
- Doc.body.style.fontFamily := '宋体';
|
|
|
- Doc.body.style.fontSize := '9pt';
|
|
|
- end;
|
|
|
+procedure TSystemMessageForm.SetDOMStyle(Doc: IHTMLDocument2);
|
|
|
+var
|
|
|
+ v: Variant;
|
|
|
+begin
|
|
|
+ if pnlForHideWebBrowser.Visible then
|
|
|
+ begin
|
|
|
+ if (Length(Trim(FContent)) > 0) and ((FMessageType = mtBroadcast) or (FMessageType = mtConfirmMsg)) then
|
|
|
+ begin
|
|
|
+ v := VarArrayCreate([0, 0], varVariant);
|
|
|
+ v[0] := '<body scroll="no" bgcolor="#fdfdfd" link="#0000FF" vlink="#0000FF" alink="#0000FF" hlink="#0000FF" oncontextmenu="return false;" >' + FContent + '</body>';
|
|
|
+ doc.write(PSafeArray(TVarData(v).VArray));
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+
|
|
|
+ Doc.body.style.cssText := 'word-break: break-all;';
|
|
|
+ Doc.body.style.border := '0px solid #fdfdfd';
|
|
|
+ Doc.body.style.margin := '0px';
|
|
|
+ if (Length(Trim(FContent)) > 0) and ((FMessageType = mtBroadcast) or (FMessageType = mtConfirmMsg)) then
|
|
|
+ begin
|
|
|
+ Doc.body.style.fontFamily := '宋体';
|
|
|
+ Doc.body.style.fontSize := '9pt';
|
|
|
+ end;
|
|
|
end;
|
|
|
|
|
|
//------------------------------------------------------------------------------
|
|
|
-procedure TSystemMessageForm.WebBrowserBeforeNavigate2(ASender: TObject;
|
|
|
- const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
|
|
|
- Headers: OleVariant; var Cancel: WordBool);
|
|
|
-const
|
|
|
- BaseURL = 'about:blank';
|
|
|
- BaseURL1 = 'about:';
|
|
|
-var
|
|
|
- NewUrl: string;
|
|
|
- AStrs: TStrings;
|
|
|
-begin
|
|
|
- NewUrl := Trim(AnsiReplaceText(string(URL), BaseURL, ''));
|
|
|
- NewUrl := Trim(AnsiReplaceText(string(NewUrl), BaseURL1, ''));
|
|
|
-
|
|
|
- if AnsiSameText(Copy(NewUrl, 1, 3), 'SSO') then
|
|
|
- begin
|
|
|
- Cancel := True;
|
|
|
- AStrs := TRealICQUtility.SplitString(NewUrl, '||');
|
|
|
- try
|
|
|
- if AStrs.Count = 3 then
|
|
|
- GetAppCentre.SSO(AStrs[1], AStrs[2]);
|
|
|
- finally
|
|
|
- AStrs.Free;
|
|
|
- end;
|
|
|
- end;
|
|
|
-end;
|
|
|
-
|
|
|
-procedure TSystemMessageForm.WebBrowserDocumentComplete(ASender: TObject;
|
|
|
- const pDisp: IDispatch; var URL: OleVariant);
|
|
|
-begin
|
|
|
- try
|
|
|
+procedure TSystemMessageForm.WebBrowserBeforeNavigate2(ASender: TObject; const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData, Headers: OleVariant; var Cancel: WordBool);
|
|
|
+const
|
|
|
+ BaseURL = 'about:blank';
|
|
|
+ BaseURL1 = 'about:';
|
|
|
+var
|
|
|
+ NewUrl: string;
|
|
|
+ AStrs: TStrings;
|
|
|
+ jo: ISuperObject;
|
|
|
+begin
|
|
|
+ NewUrl := Trim(AnsiReplaceText(string(URL), BaseURL, ''));
|
|
|
+ NewUrl := Trim(AnsiReplaceText(string(NewUrl), BaseURL1, ''));
|
|
|
+
|
|
|
+ if SameText(NewUrl, 'local://openguideviewform/') then
|
|
|
+ begin
|
|
|
+ Cancel := True;
|
|
|
+ jo := SO();
|
|
|
+ if TConditionConfig.GetConfig.RemoteUI then
|
|
|
+ begin
|
|
|
+ jo.S['url'] := Format('%s/guideview/index.html?v=%d', [TConditionConfig.GetConfig.RemoteUIHost, GetTickCount]);
|
|
|
+ end
|
|
|
+ else
|
|
|
+ jo.S['url'] := ExtractFilePath(paramstr(0)) + 'html/guideview/#/';
|
|
|
+ jo.S['caption'] := '引导页';
|
|
|
+ jo.B['center'] := True;
|
|
|
+ jo.B['unsizeable'] := True;
|
|
|
+
|
|
|
+// if not Assigned(AGuideViewForm) then
|
|
|
+ AGuideViewForm := TGuideViewForm.Create(Self);
|
|
|
+ AGuideViewForm.SetFormInfo(jo.AsString);
|
|
|
+ AGuideViewForm.Show;
|
|
|
+ end;
|
|
|
+
|
|
|
+ if AnsiSameText(Copy(NewUrl, 1, 3), 'SSO') then
|
|
|
+ begin
|
|
|
+ Cancel := True;
|
|
|
+ AStrs := TRealICQUtility.SplitString(NewUrl, '||');
|
|
|
+ try
|
|
|
+ if AStrs.Count = 3 then
|
|
|
+ GetAppCentre.SSO(AStrs[1], AStrs[2]);
|
|
|
+ finally
|
|
|
+ AStrs.Free;
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+end;
|
|
|
+
|
|
|
+procedure TSystemMessageForm.WebBrowserDocumentComplete(ASender: TObject; const pDisp: IDispatch; var URL: OleVariant);
|
|
|
+begin
|
|
|
+ try
|
|
|
WebBrowser.OnDocumentComplete := nil;
|
|
|
//if (Length(Trim(FContent)) > 0) and (FMessageType = mtBroadcast) then
|
|
|
- if (FMessageType<>mtAdvertisement) then
|
|
|
- SetDomStyle(WebBrowser.Document as IHtmlDocument2);
|
|
|
- except
|
|
|
+
|
|
|
+ if (FMessageType <> mtAdvertisement) then
|
|
|
+ SetDomStyle(WebBrowser.Document as IHtmlDocument2);
|
|
|
+ except
|
|
|
end;
|
|
|
//if pnlForHideWebBrowser.Visible then
|
|
|
// (Image1.Picture.Graphic as TGIFImage).Animate := False;
|
|
|
- pnlForHideWebBrowser.Visible := False;
|
|
|
- if FAutoCloseTime > 0 then
|
|
|
- begin
|
|
|
- AutoCloseWindowTimer.Interval := FAutoCloseTime * 1000;
|
|
|
- AutoCloseWindowTimer.Enabled := True;
|
|
|
- end;
|
|
|
- ClearMemory;
|
|
|
+
|
|
|
+ pnlForHideWebBrowser.Visible := False;
|
|
|
+ if FAutoCloseTime > 0 then
|
|
|
+ begin
|
|
|
+ AutoCloseWindowTimer.Interval := FAutoCloseTime * 1000;
|
|
|
+ AutoCloseWindowTimer.Enabled := True;
|
|
|
+ end;
|
|
|
+ ClearMemory;
|
|
|
end;
|
|
|
|
|
|
//------------------------------------------------------------------------------
|
|
|
-procedure TSystemMessageForm.btCloseClick(Sender: TObject);
|
|
|
-begin
|
|
|
- Close;
|
|
|
+procedure TSystemMessageForm.btCloseClick(Sender: TObject);
|
|
|
+begin
|
|
|
+ Close;
|
|
|
end;
|
|
|
|
|
|
//------------------------------------------------------------------------------
|
|
|
-procedure TSystemMessageForm.btShowDetailClick(Sender: TObject);
|
|
|
-var LoginName:String;
|
|
|
- AURL: string;
|
|
|
-begin
|
|
|
- if (FMessageType=mtConfirmMsg) then
|
|
|
- begin
|
|
|
- FConfirm:=True;
|
|
|
- Close;
|
|
|
- Exit;
|
|
|
- end;
|
|
|
-
|
|
|
- LoginName:=MainForm.RealICQClient.LoginName;
|
|
|
- if AnsiPos('-',LoginName)>0 then
|
|
|
- begin
|
|
|
- LoginName:=Copy(LoginName,AnsiPos('-',LoginName)+1,Length(LoginName)-AnsiPos('-',LoginName));
|
|
|
- end;
|
|
|
-
|
|
|
- FUrl := AnsiReplaceText(FUrl, '[%LoginName%]',LoginName );
|
|
|
- FUrl := AnsiReplaceText(FUrl, '[%Password%]', MainForm.RealICQClient.Password);
|
|
|
- FUrl := AnsiReplaceText(FUrl, '[%MD5_LoginName%]', MD5En(LoginName));
|
|
|
- FUrl := AnsiReplaceText(FUrl, '[%MD5_Password%]', MD5En(MainForm.RealICQClient.Password));
|
|
|
- FUrl := AnsiReplaceText(FUrl, '[%BranchID%]', MainForm.RealICQClient.Me.BranchID);
|
|
|
-
|
|
|
- if AnsiSameText(Copy(FUrl, 1, 5), 'http:') or AnsiSameText(Copy(FUrl, 1, 6), 'https:') then
|
|
|
- begin
|
|
|
- ShellExecute(handle, 'open', PChar(MainForm.GetDefaultBrowser),PChar('"' + String(FUrl) + '"'), '', SW_SHOWNORMAL)
|
|
|
- end
|
|
|
- else
|
|
|
- begin
|
|
|
- AURL := Format(MainForm.RealICQClient.WebAppBaseURL + LoginURL, [StrToBase64(MainForm.RealICQClient.LoginName), StrToBase64(MD5En(MainForm.RealICQClient.Password)), StrToBase64(ReadMessageURL + FUrl)]);
|
|
|
- ShellExecute(handle, 'open', PChar(MainForm.GetDefaultBrowser),PChar(Format(MainForm.RealICQClient.WebAppBaseURL + LoginURL, [StrToBase64(MainForm.RealICQClient.LoginName), StrToBase64(MD5En(MainForm.RealICQClient.Password)), StrToBase64(ReadMessageURL + FUrl)])),'',SW_SHOWDEFAULT);
|
|
|
- end;
|
|
|
-
|
|
|
- Close;
|
|
|
+procedure TSystemMessageForm.btShowDetailClick(Sender: TObject);
|
|
|
+var
|
|
|
+ LoginName: string;
|
|
|
+ AURL: string;
|
|
|
+begin
|
|
|
+ if (FMessageType = mtConfirmMsg) then
|
|
|
+ begin
|
|
|
+ FConfirm := True;
|
|
|
+ Close;
|
|
|
+ Exit;
|
|
|
+ end;
|
|
|
+
|
|
|
+ LoginName := MainForm.RealICQClient.LoginName;
|
|
|
+ if AnsiPos('-', LoginName) > 0 then
|
|
|
+ begin
|
|
|
+ LoginName := Copy(LoginName, AnsiPos('-', LoginName) + 1, Length(LoginName) - AnsiPos('-', LoginName));
|
|
|
+ end;
|
|
|
+
|
|
|
+ FUrl := AnsiReplaceText(FUrl, '[%LoginName%]', LoginName);
|
|
|
+ FUrl := AnsiReplaceText(FUrl, '[%Password%]', MainForm.RealICQClient.Password);
|
|
|
+ FUrl := AnsiReplaceText(FUrl, '[%MD5_LoginName%]', MD5En(LoginName));
|
|
|
+ FUrl := AnsiReplaceText(FUrl, '[%MD5_Password%]', MD5En(MainForm.RealICQClient.Password));
|
|
|
+ FUrl := AnsiReplaceText(FUrl, '[%BranchID%]', MainForm.RealICQClient.Me.BranchID);
|
|
|
+
|
|
|
+ if AnsiSameText(Copy(FUrl, 1, 5), 'http:') or AnsiSameText(Copy(FUrl, 1, 6), 'https:') then
|
|
|
+ begin
|
|
|
+ ShellExecute(handle, 'open', PChar(MainForm.GetDefaultBrowser), PChar('"' + string(FUrl) + '"'), '', SW_SHOWNORMAL)
|
|
|
+ end
|
|
|
+ else
|
|
|
+ begin
|
|
|
+ AURL := Format(MainForm.RealICQClient.WebAppBaseURL + LoginURL, [StrToBase64(MainForm.RealICQClient.LoginName), StrToBase64(MD5En(MainForm.RealICQClient.Password)), StrToBase64(ReadMessageURL + FUrl)]);
|
|
|
+ ShellExecute(handle, 'open', PChar(MainForm.GetDefaultBrowser), PChar(Format(MainForm.RealICQClient.WebAppBaseURL + LoginURL, [StrToBase64(MainForm.RealICQClient.LoginName), StrToBase64(MD5En(MainForm.RealICQClient.Password)), StrToBase64(ReadMessageURL + FUrl)])), '', SW_SHOWDEFAULT);
|
|
|
+ end;
|
|
|
+
|
|
|
+ Close;
|
|
|
end;
|
|
|
|
|
|
//------------------------------------------------------------------------------
|
|
|
-procedure TSystemMessageForm.ChangeUIColor(AColor: TColor);
|
|
|
-begin
|
|
|
- inherited ChangeUIColor(AColor);
|
|
|
- pnlClient.Color := FormColor;
|
|
|
- btClose.ChangeUIColor(AColor);
|
|
|
- btShowDetail.ChangeUIColor(AColor);
|
|
|
- rndContent.ChangeUIColor(AColor);
|
|
|
+procedure TSystemMessageForm.ChangeUIColor(AColor: TColor);
|
|
|
+begin
|
|
|
+ inherited ChangeUIColor(AColor);
|
|
|
+ pnlClient.Color := FormColor;
|
|
|
+ btClose.ChangeUIColor(AColor);
|
|
|
+ btShowDetail.ChangeUIColor(AColor);
|
|
|
+ rndContent.ChangeUIColor(AColor);
|
|
|
end;
|
|
|
|
|
|
//------------------------------------------------------------------------------
|
|
|
-procedure TSystemMessageForm.FormClose(Sender: TObject;
|
|
|
- var Action: TCloseAction);
|
|
|
-begin
|
|
|
- if (FMessageType=mtConfirmMsg) then
|
|
|
- MainForm.RealICQClient.SendSystemMessageConfirmResponse(FMessageID,
|
|
|
- FBookingID,FBranchID,FSoureServerID,FConfirm);
|
|
|
- Action := caFree;
|
|
|
+procedure TSystemMessageForm.FormClose(Sender: TObject; var Action: TCloseAction);
|
|
|
+begin
|
|
|
+ if (FMessageType = mtConfirmMsg) then
|
|
|
+ MainForm.RealICQClient.SendSystemMessageConfirmResponse(FMessageID, FBookingID, FBranchID, FSoureServerID, FConfirm);
|
|
|
+ Action := caFree;
|
|
|
end;
|
|
|
|
|
|
//------------------------------------------------------------------------------
|
|
|
-procedure TSystemMessageForm.FormCloseQuery(Sender: TObject;
|
|
|
- var CanClose: Boolean);
|
|
|
-begin
|
|
|
- if Assigned(WebBrowser.OnDocumentComplete) then CanClose := False;
|
|
|
+procedure TSystemMessageForm.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
|
|
|
+begin
|
|
|
+ if Assigned(WebBrowser.OnDocumentComplete) then
|
|
|
+ CanClose := False;
|
|
|
end;
|
|
|
|
|
|
//------------------------------------------------------------------------------
|
|
|
-procedure TSystemMessageForm.FormCreate(Sender: TObject);
|
|
|
-begin
|
|
|
- if not ShowTastBarButton then
|
|
|
- begin
|
|
|
- SetWindowLong( Handle, GWL_EXSTYLE, GetWindowLong(Handle, GWL_EXSTYLE) or WS_EX_TOPMOST or WS_EX_TOOLWINDOW and not WS_EX_APPWINDOW);
|
|
|
- SetWindowPos(Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE or SWP_NOACTIVATE or SWP_NOSIZE or SWP_NOOWNERZORDER);
|
|
|
- end;
|
|
|
-
|
|
|
- DoubleBuffered := True;
|
|
|
- pnlClient.DoubleBuffered := True;
|
|
|
- SystemMessageForms.AddObject('', Self);
|
|
|
-
|
|
|
- CanResizeWindow := False;
|
|
|
- SkinName := AnsiReplaceText(MainForm.SkinName, 'MainForm', '');
|
|
|
- ChangeUIColor(MainForm.UIMainColor);
|
|
|
+procedure TSystemMessageForm.FormCreate(Sender: TObject);
|
|
|
+begin
|
|
|
+ if not ShowTastBarButton then
|
|
|
+ begin
|
|
|
+ SetWindowLong(Handle, GWL_EXSTYLE, GetWindowLong(Handle, GWL_EXSTYLE) or WS_EX_TOPMOST or WS_EX_TOOLWINDOW and not WS_EX_APPWINDOW);
|
|
|
+ SetWindowPos(Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE or SWP_NOACTIVATE or SWP_NOSIZE or SWP_NOOWNERZORDER);
|
|
|
+ end;
|
|
|
+
|
|
|
+ DoubleBuffered := True;
|
|
|
+ pnlClient.DoubleBuffered := True;
|
|
|
+ SystemMessageForms.AddObject('', Self);
|
|
|
+
|
|
|
+ CanResizeWindow := False;
|
|
|
+ SkinName := AnsiReplaceText(MainForm.SkinName, 'MainForm', '');
|
|
|
+ ChangeUIColor(MainForm.UIMainColor);
|
|
|
end;
|
|
|
|
|
|
//------------------------------------------------------------------------------
|
|
|
-procedure TSystemMessageForm.CreateParams(var Params: TCreateParams);
|
|
|
-begin
|
|
|
- inherited;
|
|
|
- with Params do
|
|
|
- begin
|
|
|
- Style := (Style - WS_THICKFRAME);
|
|
|
- Params.WndParent := 0;
|
|
|
- end;
|
|
|
+procedure TSystemMessageForm.CreateParams(var Params: TCreateParams);
|
|
|
+begin
|
|
|
+ inherited;
|
|
|
+ with Params do
|
|
|
+ begin
|
|
|
+ Style := (Style - WS_THICKFRAME);
|
|
|
+ Params.WndParent := 0;
|
|
|
+ end;
|
|
|
end;
|
|
|
|
|
|
//------------------------------------------------------------------------------
|
|
|
-procedure TSystemMessageForm.FormDestroy(Sender: TObject);
|
|
|
-var
|
|
|
- iIndex: Integer;
|
|
|
-begin
|
|
|
- iIndex := SystemMessageForms.IndexOfObject(Self);
|
|
|
- if iIndex >= 0 then SystemMessageForms.Delete(iIndex);
|
|
|
+procedure TSystemMessageForm.FormDestroy(Sender: TObject);
|
|
|
+var
|
|
|
+ iIndex: Integer;
|
|
|
+begin
|
|
|
+ iIndex := SystemMessageForms.IndexOfObject(Self);
|
|
|
+ if iIndex >= 0 then
|
|
|
+ SystemMessageForms.Delete(iIndex);
|
|
|
end;
|
|
|
|
|
|
//------------------------------------------------------------------------------
|
|
|
-procedure TSystemMessageForm.AutoCloseWindowTimerTimer(Sender: TObject);
|
|
|
-begin
|
|
|
- AutoCloseWindowTimer.Enabled := False;
|
|
|
- if FPosition = mpRightBottom then
|
|
|
- begin
|
|
|
+procedure TSystemMessageForm.AutoCloseWindowTimerTimer(Sender: TObject);
|
|
|
+begin
|
|
|
+ AutoCloseWindowTimer.Enabled := False;
|
|
|
+ if FPosition = mpRightBottom then
|
|
|
+ begin
|
|
|
pnlForWebBrowser.Visible := False;
|
|
|
// AnimateWindow(Handle, 300, AW_HIDE or AW_SLIDE or AW_VER_POSITIVE);
|
|
|
- end;
|
|
|
- Close;
|
|
|
+
|
|
|
+ end;
|
|
|
+ Close;
|
|
|
end;
|
|
|
|
|
|
//------------------------------------------------------------------------------
|
|
|
-procedure TSystemMessageForm.FormShow(Sender: TObject);
|
|
|
+procedure TSystemMessageForm.FormShow(Sender: TObject);
|
|
|
begin
|
|
|
// if FPosition = mpRightBottom then
|
|
|
// AnimateWindow(Handle, 300, AW_ACTIVATE or AW_SLIDE or AW_VER_NEGATIVE)
|
|
|
// else
|
|
|
// AnimateWindow(Handle, 300, AW_ACTIVATE or AW_BLEND);
|
|
|
+
|
|
|
end;
|
|
|
|
|
|
//------------------------------------------------------------------------------
|
|
|
-initialization
|
|
|
- ShowTastBarButton := False;
|
|
|
- SystemMessageForms := TStringList.Create;
|
|
|
-
|
|
|
-finalization
|
|
|
- FreeAndNil(SystemMessageForms);
|
|
|
+initialization
|
|
|
+ ShowTastBarButton := False;
|
|
|
+ SystemMessageForms := TStringList.Create;
|
|
|
+
|
|
|
+finalization
|
|
|
+ FreeAndNil(SystemMessageForms);
|
|
|
+
|
|
|
+end.
|
|
|
|
|
|
-end.
|