Produced by Araxis Merge on 10/18/2017 11:37:29 AM Eastern Daylight Time. See www.araxis.com for information about Merge. This report uses XHTML and CSS2, and is best viewed with a modern standards-compliant browser. For optimum results when printing this report, use landscape orientation and enable printing of background images and colours in your browser.
| # | Location | File | Last Modified |
|---|---|---|---|
| 1 | OSCIF_CPRS v32 Phase 2 Build 2OR3.0405_August_2017.zip\OR_30_405V36_SRC.zip\XE8\Broker\Source | Loginfrm.pas | Wed Oct 11 20:08:08 2017 UTC |
| 2 | OSCIF_CPRS v32 Phase 2 Build 2OR3.0405_August_2017.zip\OR_30_405V36_SRC.zip\XE8\Broker\Source | Loginfrm.pas | Tue Oct 17 19:58:08 2017 UTC |
| Description | Between Files 1 and 2 |
|
|---|---|---|
| Text Blocks | Lines | |
| Unchanged | 2 | 1014 |
| Changed | 1 | 2 |
| Inserted | 0 | 0 |
| Removed | 0 | 0 |
| Whitespace | |
|---|---|
| Character case | Differences in character case are significant |
| Line endings | Differences in line endings (CR and LF characters) are ignored |
| CR/LF characters | Not shown in the comparison detail |
No regular expressions were active.
| 1 | { ******** ********** ********** ********** ********** ********** **** | |
| 2 | Pa ckage: XWB - Kernel RPCBroker | |
| 3 | Da te Created : Sept 18, 1997 (Ver sion 1.1) | |
| 4 | Si te Name: O akland, OI Field Off ice, Dept of Veteran Affairs | |
| 5 | De velopers: PII, PII, PII, PII | |
| 6 | De scription: Contains TRPCBroker and relat ed compone nts. | |
| 7 | Unit: Lo ginfrm cod e supporti ng Login f orm. | |
| 8 | Cu rrent Rele ase: Versi on 1.1 Pat ch 65 | |
| 9 | ********** ********** ********** ********** ********** ********** *** } | |
| 10 | ||
| 11 | { ******** ********** ********** ********** ********** ** | |
| 12 | Changes in v1.1.65 (HGW 11/1 7/2015) XW B*1.165 | |
| 13 | 1. Fixed form wher e Port num ber was no t being di splayed pr operly (sh owed value | |
| 14 | of $I ). It is a change in Cache, pa rt of a Li nux fix. N ow display ing the | |
| 15 | port number ass igned when making th e connecti on to Vist A (in Delp hi). | |
| 16 | 2. In Se tUpSignOn, disabled callback t o Client A gent. Auto Sign-On i s | |
| 17 | depre cated for 2-factor a uthenticat ion, and w ill not wo rk consist ently | |
| 18 | with IPv6 (mult iple IP ad dresses as signed to a workstat ion). | |
| 19 | ||
| 20 | Changes in v1.1.60 (HGW 4/15 /2015) XWB *1.1*60 | |
| 21 | 1. Chang ed form fo rmat to pe rmit longe r server a nd volume names. | |
| 22 | 2. Split verifyCod e.text fro m accessCo de.text if entered i n a single string | |
| 23 | (acce ssCode;ver ifyCode). This will enable old verify co de to be p assed to | |
| 24 | VCEdi t.pas when changing a verify c ode. | |
| 25 | 3. Ident ified poss ible chang es needed for next v ersion to support Si ngle | |
| 26 | Sign- On Interna l (SSOi) u sing Ident ity and Ac cess Manag ement (IAM ) STS | |
| 27 | SAML Token (see procedure TfrmSigno n.btnOkCli ck). | |
| 28 | ||
| 29 | Changes in v1.1.50 (JLI 9/1/ 2011) XWB* 1.1*50 | |
| 30 | 1. None. | |
| 31 | ||
| 32 | Changes in v1.1.47 (JLI 6/17 /2008) XWB *1.1*47 | |
| 33 | 1. Chang es to Logi nfrmSignon Broker to resolve au thenticati on errors. | |
| 34 | ||
| 35 | Changes in v1.1.11 (DCM 9/13 /1999) XWB *1.1*11 | |
| 36 | 1. Delet ed obsolet e code. | |
| 37 | ||
| 38 | Changes in v1.1.4 (DCM 1/6/1 999) XWB*1 .1*4 | |
| 39 | 1. Added a try-exc ept block in SetUpSi gnOn to cl ose | |
| 40 | login form when the serve r job time s out. Al so added a | |
| 41 | try-e xcept bloc k in btnOk Click to c ancel the action if the | |
| 42 | serve r job time s out. | |
| 43 | ********** ********** ********** ********** ********** } | |
| 44 | unit Login frm; | |
| 45 | ||
| 46 | interface | |
| 47 | ||
| 48 | uses | |
| 49 | {System} | |
| 50 | AnsiStri ngs, Class es, SysUti ls, UIType s, | |
| 51 | {WinApi} | |
| 52 | WinTypes , WinProcs , Messages , ShellApi , Windows, | |
| 53 | {Vcl} | |
| 54 | Graphics , Controls , Forms, D ialogs, St dCtrls, Ex tCtrls, Bu ttons, | |
| 55 | {VA} | |
| 56 | XWBHash, MFunStr, Trpcb, Sgn onCnf, XWB ut1, frmSi gnonMessag e, XWBRich 20; | |
| 57 | ||
| 58 | type | |
| 59 | TfrmSign on = class (TForm) | |
| 60 | Panel1 : TPanel; | |
| 61 | Panel7 : TPanel; | |
| 62 | Panel8 : TPanel; | |
| 63 | Label1 : TLabel; | |
| 64 | Label2 : TLabel; | |
| 65 | Label3 : TLabel; | |
| 66 | Label4 : TLabel; | |
| 67 | Label5 : TLabel; | |
| 68 | Label6 : TLabel; | |
| 69 | Image1 : TImage; | |
| 70 | Bevel1 : TBevel; | |
| 71 | Bevel2 : TBevel; | |
| 72 | Bevel3 : TBevel; | |
| 73 | Bevel4 : TBevel; | |
| 74 | Bevel5 : TBevel; | |
| 75 | verify Code: TEdi t; | |
| 76 | access Code: TEdi t; | |
| 77 | btnOk: TBitBtn; | |
| 78 | btnCan cel: TBitB tn; | |
| 79 | lblSer ver: TLabe l; | |
| 80 | lblVol ume: TLabe l; | |
| 81 | lblUCI : TLabel; | |
| 82 | lblPor t: TLabel; | |
| 83 | introT ext: TXWBR ichEdit; | |
| 84 | cbxCha ngeVerifyC ode: TChec kBox; | |
| 85 | RpcbiB roker: TRP CBroker; | |
| 86 | proced ure btnOkC lick(Sende r: TObject ); | |
| 87 | proced ure btnCan celClick(S ender: TOb ject); | |
| 88 | proced ure FormSh ow(Sender: TObject); | |
| 89 | proced ure FormCr eate(Sende r: TObject ); | |
| 90 | proced ure FormCl ose(Sender : TObject; var Actio n: TCloseA ction); | |
| 91 | proced ure introT extURLClic k(Sender: TObject; U RL: String ); | |
| 92 | private | |
| 93 | FChngV erify: Boo lean; // indicat es whether user has requested changing v erify code | |
| 94 | OrigHe lp : Strin g; //Help fil ename of c alling app lication. | |
| 95 | functi on DoVerif y: Boolean ; | |
| 96 | proced ure WMSysC ommand(var Message: TWMSysComm and); mess age WM_SYS COMMAND; | |
| 97 | public | |
| 98 | Defaul tSignonCon figuration : TSignonV alues; | |
| 99 | end; | |
| 100 | ||
| 101 | procedure PrepareSig nonForm(Ap pBroker: T RPCBroker) ; | |
| 102 | function SetUpSignO n : Boolea n; overloa d; | |
| 103 | ||
| 104 | var | |
| 105 | frmSigno n: TfrmSig non; | |
| 106 | intDevic eLock: int eger; | |
| 107 | Loginfrm SignOnBrok er: TRPCBr oker; | |
| 108 | ||
| 109 | const | |
| 110 | SC_Confi gure = 1; | |
| 111 | SC_About = 2; | |
| 112 | ||
| 113 | implementa tion | |
| 114 | ||
| 115 | ||
| 116 | uses | |
| 117 | RpcSlogi n, VCEdit, fRPCBErrM sg, RpcCon f1, XlfSid ; | |
| 118 | ||
| 119 | var | |
| 120 | SysMenu: HMenu; | |
| 121 | ||
| 122 | {$R *.DFM} | |
| 123 | ||
| 124 | {--------- ---------- -- TfrmSig non.Prepar eSignonFor m -------- ------ | |
| 125 | Assigns a TRPCBroker component to this s ession | |
| 126 | ---------- ---------- ---------- ---------- ---------- ---------- ------} | |
| 127 | procedure PrepareSig nonForm(Ap pBroker: T RPCBroker) ; | |
| 128 | begin | |
| 129 | Loginfrm SignonBrok er := AppB roker; | |
| 130 | end; | |
| 131 | ||
| 132 | ||
| 133 | {--------- ---------- -- TfrmSig non.SetUpS ignOn ---- ---------- ------ | |
| 134 | Calls 'XUS SIGNON SE TUP' to se t up the e nvironment for this session | |
| 135 | ---------- ---------- ---------- ---------- ---------- ---------- ------} | |
| 136 | function S etUpSignOn : Boolean; | |
| 137 | begin | |
| 138 | Result : = True; //By d efault Sig non is nee ded. | |
| 139 | if Login frmSignonB roker = ni l then Log infrmSigno nBroker := frmSignon .RpcbiBrok er; | |
| 140 | {SignonB roker supe rsedes Rpc biBroker} | |
| 141 | with frm Signon do | |
| 142 | begin | |
| 143 | try | |
| 144 | with LoginfrmS ignonBroke r do | |
| 145 | begi n | |
| 146 | if not (Logi nfrmSignon Broker.Sec urityPhras e = '') th en | |
| 147 | be gin | |
| 148 | with Param [0] do // start B SE | |
| 149 | begin | |
| 150 | Value := '-35^' + Encrypt(Lo ginfrmSign onBroker.S ecurityPhr ase); | |
| 151 | PType := literal; | |
| 152 | end; // with // end BSE | |
| 153 | en d | |
| 154 | el se with Pa ram[0] do | |
| 155 | be gin | |
| 156 | Ptype := l iteral; | |
| 157 | Value := E ncrypt(Get NTLogonSid ); | |
| 158 | en d; | |
| 159 | Pa ram[1].Val ue := '1'; //Dis able Clien t Agent ca llback (p6 5) | |
| 160 | Pa ram[1].PTy pe := lite ral; | |
| 161 | Re moteProced ure := 'XU S SIGNON S ETUP'; | |
| 162 | Ca ll; | |
| 163 | end; | |
| 164 | except | |
| 165 | on e rror: Exce ption do | |
| 166 | begi n | |
| 167 | // ShowMessag e('Excepti on: '+erro r.message) ; | |
| 168 | Ra ise; | |
| 169 | // exit; | |
| 170 | end; | |
| 171 | end; / /try | |
| 172 | if Log infrmSigno nBroker.RP CBError = '' then | |
| 173 | begin | |
| 174 | lblS erver.Capt ion := Log infrmSigno nBroker.Re sults[0]; | |
| 175 | lblV olume.Capt ion := Log infrmSigno nBroker.Re sults[1]; | |
| 176 | lblU CI.Caption := Log infrmSigno nBroker.Re sults[2]; | |
| 177 | //lb lPort.Capt ion := L oginfrmSig nonBroker. Results[3] ; //Use l ocal infor mation ins tead of Vi stA return ed value | |
| 178 | lblP ort.Captio n := Int ToStr(Logi nfrmSignon Broker.Lis tenerPort) ; | |
| 179 | intD eviceLock := 0; | |
| 180 | if L oginfrmSig nonBroker. Results.Co unt > 5 th en //Se rver sent single sig non info. | |
| 181 | if LoginfrmS ignonBroke r.Results[ 5] = '1' t hen //Si gnon not n eeded | |
| 182 | Result := False | |
| 183 | el se | |
| 184 | Result := True; | |
| 185 | Logi nfrmSignon Broker.Log in.IsProdu ctionAccou nt := Fals e; | |
| 186 | Logi nfrmSignon Broker.Log in.DomainN ame := ''; | |
| 187 | if L oginfrmSig nonBroker. Results.Co unt > 7 th en | |
| 188 | begi n | |
| 189 | Lo ginfrmSign onBroker.L ogin.Domai nName := L oginfrmSig nonBroker. Results[6] ; | |
| 190 | if LoginfrmS ignonBroke r.Results[ 7] = '1' t hen | |
| 191 | LoginfrmSi gnonBroker .Login.IsP roductionA ccount := True; | |
| 192 | end; | |
| 193 | end; | |
| 194 | end; | |
| 195 | end; | |
| 196 | ||
| 197 | ||
| 198 | {--------- ---------- -- TfrmSig non.btnOkC lick ----- ---------- ------ | |
| 199 | This gets called whe n user pre sses OK bu tton on th e login fo rm. | |
| 200 | Access and verify co des are tr ansmitted as access; verify to the server . | |
| 201 | Server res ponds with a multi-p urpose arr ay where e ach node h as some | |
| 202 | special me aning, whi ch may cha nge period ically and should be revised. | |
| 203 | SignonBrok er.Results [0] - DUZ (0 if uns uccessful signon) | |
| 204 | SignonBrok er.Results [1] - 0=O K 1=devic e lock (to o many bad tries) | |
| 205 | SignonBrok er.Results [2] - 0=v erify does n't need t o be chang ed | |
| 206 | 1=v erify need s changing | |
| 207 | SignonBrok er.Results [3] - mes sage (i.e. signon in hibited, e tc.) | |
| 208 | SignonBrok er.Results [4] - res erved | |
| 209 | SignonBrok er.Results [5] - num ber of lin es in gree ting messa ge | |
| 210 | (cu rrently ha rd set to 0) to supp ress msg d isplay | |
| 211 | SignonBrok er.Results [6-n] - gr eeting mes sage | |
| 212 | ---------- ---------- ---------- ---------- ---------- ---------- ------} | |
| 213 | procedure TfrmSignon .btnOkClic k(Sender: TObject); | |
| 214 | var | |
| 215 | I: integ er; | |
| 216 | EntryStr ing: TStri ngList; //p60 | |
| 217 | begin | |
| 218 | EntryStr ing := TSt ringList.C reate; / /p60 | |
| 219 | EntryStr ing.Delimi ter := ';' ; / /p60 | |
| 220 | frmSigno n.Tag := 0 ; {initiali ze signon flag} | |
| 221 | try / /P4 | |
| 222 | with Log infrmSigno nBroker do | |
| 223 | begin | |
| 224 | with P aram[0] do | |
| 225 | begin | |
| 226 | //p6 0 Split ve rifyCode.t ext from a ccessCode. text if en tered in a single st ring (acce ssCode;ver ifyCode) | |
| 227 | if v erifyCode. text = '' then | |
| 228 | begi n | |
| 229 | En tryString. DelimitedT ext := acc essCode.Te xt; | |
| 230 | ac cessCode.t ext := Ent ryString[0 ]; | |
| 231 | ve rifyCode.t ext := Ent ryString[1 ]; | |
| 232 | end; | |
| 233 | Valu e := Encry pt(accessC ode.text + ';' + ver ifyCode.te xt); | |
| 234 | PTyp e := liter al; | |
| 235 | end; | |
| 236 | Remote Procedure := 'XUS AV CODE'; | |
| 237 | Call; | |
| 238 | {Devic e is locke d -- too m any failur es} | |
| 239 | if Res ults[1] = '1' then | |
| 240 | begin | |
| 241 | RPCB ShowErrMsg (Results[3 ]); | |
| 242 | Clos e; | |
| 243 | end | |
| 244 | {Verif y code mus t change} | |
| 245 | else i f Results[ 2] = '1' t hen | |
| 246 | begin | |
| 247 | Mess ageDlg('Yo u must cha nge your V ERIFY CODE at this t ime.', | |
| 248 | m tWarning, [mbOK], 0) ; //Notify t hat VC mus t change. | |
| 249 | if D oVerify th en | |
| 250 | fr mSignon.Ta g := 1; // VC changed -> OK | |
| 251 | Clos e; | |
| 252 | {N ote: if VC change ne cessary an d it wasn' t made, | |
| 253 | Tag r emains 0 m eaning uns uccessful signon.} | |
| 254 | end | |
| 255 | {Signo n failed f or some ot her reason } | |
| 256 | else i f Results[ 0] = '0' t hen | |
| 257 | begin | |
| 258 | acce ssCode.tex t := ''; | |
| 259 | veri fyCode.tex t := ''; | |
| 260 | RPCB ShowErrMsg (Results[3 ]); | |
| 261 | acce ssCode.Set Focus; //Try agai n. | |
| 262 | end | |
| 263 | {Signo n succeede d.} | |
| 264 | else | |
| 265 | begin | |
| 266 | frmS ignon.Tag := 1; { set flag t hat signon was good} | |
| 267 | {display a ny server greeting m essages} | |
| 268 | if c bxChangeVe rifyCode.C hecked the n | |
| 269 | begi n | |
| 270 | fr mSignon.En abled := F alse; //p65 | |
| 271 | Do Verify; | |
| 272 | fr mSignon.En abled := T rue; //p65 | |
| 273 | end; | |
| 274 | if R esults.Cou nt > 5 the n | |
| 275 | begi n | |
| 276 | if Results[5 ] <> '0' t hen | |
| 277 | be gin | |
| 278 | frmSignon. Enabled := False; //p65 | |
| 279 | frmSignonM sg := Tfrm SignonMsg. Create(Sel f); | |
| 280 | frmSignonM sg.RPCbiBr oker := Lo ginfrmSign onBroker; | |
| 281 | try | |
| 282 | with frm SignonMsg do | |
| 283 | begin | |
| 284 | mmoMsg .Lines.Cle ar; | |
| 285 | for I := 1 to St rToInt(Res ults[5]) d o | |
| 286 | mmoM sg.Lines.A dd(Results [5+I]); | |
| 287 | ShowAp plicationA ndFocusOK( Applicatio n); | |
| 288 | //Show Modal; //Ca uses memor y error | |
| 289 | end; | |
| 290 | finally | |
| 291 | frmSigno nMsg.Free; | |
| 292 | frmSigno n.Enabled := True; //p6 5 | |
| 293 | end; | |
| 294 | en d; | |
| 295 | end; | |
| 296 | Clos e; | |
| 297 | end; | |
| 298 | end; | |
| 299 | except //P 4 | |
| 300 | btnCan celClick(s elf); //P 4 | |
| 301 | end; //P 4 | |
| 302 | end; | |
| 303 | ||
| 304 | ||
| 305 | {--------- ---------- -- TfrmSig non.btnCan celClick - ---------- ------ | |
| 306 | Implement Cancel but ton | |
| 307 | ---------- ---------- ---------- ---------- ---------- ---------- ------} | |
| 308 | procedure TfrmSignon .btnCancel Click(Send er: TObjec t); | |
| 309 | begin | |
| 310 | Loginfrm SignOnBrok er.Login.E rrorText : = 'User Ca ncelled Lo gin Proces s'; | |
| 311 | Close; | |
| 312 | end; | |
| 313 | ||
| 314 | ||
| 315 | {--------- ---------- -- TfrmSig non.FormSh ow ------- ---------- ------ | |
| 316 | Show Login frm Form | |
| 317 | ---------- ---------- ---------- ---------- ---------- ---------- ------} | |
| 318 | procedure TfrmSignon .FormShow( Sender: TO bject); | |
| 319 | var | |
| 320 | Str: Str ing; | |
| 321 | begin | |
| 322 | Str := ' RPCBroker' ; | |
| 323 | {add Con figure... to system menu} | |
| 324 | SysMenu := GetSyst emMenu(Han dle, False ); | |
| 325 | AppendMe nu(SysMenu , MF_Enabl ed + MF_St ring + MF_ Unchecked, SC_Config ure, | |
| 326 | '&Prope rties...') ; | |
| 327 | AppendMe nu(SysMenu , MF_Enabl ed + MF_St ring + MF_ Unchecked, SC_About, PChar('&Ab out '+Str) ); | |
| 328 | with Log infrmSigno nBroker do | |
| 329 | begin | |
| 330 | Remote Procedure := 'XUS IN TRO MSG'; | |
| 331 | lstCal l(introTex t.Lines); | |
| 332 | end; | |
| 333 | OrigHelp := Applic ation.Help File; // Save orig inal helpf ile. | |
| 334 | Applicat ion.HelpFi le := Read RegData(HK LM, REG_BR OKER, 'Bro kerDr') + | |
| 335 | '\c lagent.hlp '; // Identify ConnectTo helpfile. | |
| 336 | end; | |
| 337 | ||
| 338 | ||
| 339 | {--------- ---------- -- TfrmSig non.FormCr eate ----- ---------- ------ | |
| 340 | Instantiat e Loginfrm Form | |
| 341 | ---------- ---------- ---------- ---------- ---------- ---------- ------} | |
| 342 | procedure TfrmSignon .FormCreat e(Sender: TObject); | |
| 343 | var | |
| 344 | SignonCo nfiguratio n: TSignon Configurat ion; | |
| 345 | begin | |
| 346 | if (Pos( 'LARGE',Up perCase(Re adRegDataD efault(HKC U, 'Contro l Panel\Ap pearance', 'Current' ,''))) > 0 ) or | |
| 347 | (Scre en.Width < 800) then | |
| 348 | begin | |
| 349 | Window State := w sMaximized ; | |
| 350 | with S creen do | |
| 351 | begin | |
| 352 | if W idth < 700 then / / 640 | |
| 353 | In troText.Fo nt.Size := 9 | |
| 354 | else if Width < 750 then / / 720 | |
| 355 | In troText.Fo nt.Size := 10 | |
| 356 | else if Width < 900 then / / 800 | |
| 357 | In troText.Fo nt.Size := 11 | |
| 358 | else if Width < 1100 the n / / 1024 | |
| 359 | In troText.Fo nt.Size := 15 | |
| 360 | else if Width < 1200 the n / / 1152 | |
| 361 | In troText.Fo nt.Size := 16 | |
| 362 | else if Width < 1900 the n | |
| 363 | In troText.Fo nt.Size := 19 / / 1280 | |
| 364 | else | |
| 365 | In troText.Fo nt.Size := 28; / / 1920 | |
| 366 | end; // with | |
| 367 | end; | |
| 368 | FormStyl e := fsSta yOnTop; // make fo rm stay on top of ot hers so it can be fo und | |
| 369 | {adjust appearance per user' s preferen ces} | |
| 370 | SignonCo nfiguratio n := TSign onConfigur ation.Crea te; | |
| 371 | try | |
| 372 | Defaul tSignonCon figuration := TSignO nValues.Cr eate; | |
| 373 | Defaul tSignonCon figuration .BackColor := IntroT ext.Color; | |
| 374 | Defaul tSignonCon figuration .Height := Height; | |
| 375 | Defaul tSignonCon figuration .Width := Width; | |
| 376 | Defaul tSignonCon figuration .Position := '0'; | |
| 377 | Defaul tSignonCon figuration .Size := ' 0'; | |
| 378 | Defaul tSignonCon figuration .Left := L eft; | |
| 379 | Defaul tSignonCon figuration .Top := To p; | |
| 380 | Defaul tSignonCon figuration .Font := I ntroText.F ont; | |
| 381 | Defaul tSignonCon figuration .TextColor := IntroT ext.Font.C olor; | |
| 382 | Defaul tSignonCon figuration .FontStyle s := Intro Text.Font. Style; | |
| 383 | Signon Defaults.S etEqual(De faultSigno nConfigura tion); | |
| 384 | Signon Configurat ion.ReadRe gistrySett ings; | |
| 385 | if Ini tialValues .Size = '0 ' then | |
| 386 | begin {restore defaults} | |
| 387 | Widt h:= Defaul tSignonCon figuration .Width; | |
| 388 | Heig ht := Defa ultSignonC onfigurati on.Height; | |
| 389 | end | |
| 390 | else | |
| 391 | begin | |
| 392 | try | |
| 393 | Po sition := poDesigned ; | |
| 394 | Wi dth := Str ToInt(Piec e(strSize, U,2)); | |
| 395 | He ight := St rToInt(Pie ce(strSize ,U,3)); | |
| 396 | exce pt | |
| 397 | Wi dth:= Defa ultSignonC onfigurati on.Width; | |
| 398 | He ight := De faultSigno nConfigura tion.Heigh t; | |
| 399 | end; | |
| 400 | end; | |
| 401 | if Ini tialValues .Position = '0' then {restore defaults} | |
| 402 | Posi tion := po ScreenCent er | |
| 403 | else | |
| 404 | begin | |
| 405 | try | |
| 406 | To p:= StrToI nt(Piece(s trPosition ,U,2)); | |
| 407 | Le ft := StrT oInt(Piece (strPositi on,U,3)); | |
| 408 | exce pt | |
| 409 | Po sition := poScreenCe nter | |
| 410 | end; | |
| 411 | end; | |
| 412 | if Ini tialValues .BackColor <> 0 then | |
| 413 | intr oText.Colo r := Initi alValues.B ackColor | |
| 414 | else | |
| 415 | intr oText.Colo r := clWin dow; | |
| 416 | introT ext.Font : = InitialV alues.Font ; | |
| 417 | finally | |
| 418 | Signon Configurat ion.Free; | |
| 419 | end; | |
| 420 | FChngVer ify := Fal se; | |
| 421 | end; | |
| 422 | ||
| 423 | ||
| 424 | {--------- ---------- -- TfrmSig non.WMSysC ommand --- ---------- ------ | |
| 425 | 'Configure ' or 'Abou t' popup b ox (system commands) | |
| 426 | ---------- ---------- ---------- ---------- ---------- ---------- ------} | |
| 427 | procedure TfrmSignon .WMSysComm and(var Me ssage: TWM SysCommand ); | |
| 428 | var | |
| 429 | Str: Str ing; | |
| 430 | SignonCo nfiguratio n: TSignon Configurat ion; | |
| 431 | frmErrMs g: TfrmErr Msg; | |
| 432 | begin | |
| 433 | if Messa ge.CmdType = SC_Conf igure then | |
| 434 | begin | |
| 435 | Signon Configurat ion := TSi gnonConfig uration.Cr eate; | |
| 436 | try | |
| 437 | Show Applicatio nAndFocusO K(Applicat ion); | |
| 438 | Sign onConfigur ation.Show Modal; | |
| 439 | finall y | |
| 440 | Sign onConfigur ation.Free ; | |
| 441 | Self .WindowSta te := wsNo rmal; | |
| 442 | end; | |
| 443 | end | |
| 444 | else if Message.Cm dType = SC _About the n | |
| 445 | begin | |
| 446 | frmErr Msg := Tfr mErrMsg.Cr eate(Appli cation); | |
| 447 | try | |
| 448 | frmE rrMsg.Capt ion := 'Ab out RPCBro ker'; | |
| 449 | Str := 'RPCBro ker Versio n is '+Rpc biBroker.B rokerVersi on; | |
| 450 | frmE rrMsg.mmoE rrorMessag e.Lines.Ad d(Str); | |
| 451 | Show Applicatio nAndFocusO K(Applicat ion); | |
| 452 | frmE rrMsg.Show Modal; | |
| 453 | finall y | |
| 454 | frmE rrMsg.Free ; | |
| 455 | end; | |
| 456 | end | |
| 457 | else | |
| 458 | inheri ted; | |
| 459 | end; | |
| 460 | ||
| 461 | ||
| 462 | {--------- ---------- -- TfrmSig non.FormCl ose ------ ---------- ------ | |
| 463 | Close Logi nfrm Form | |
| 464 | ---------- ---------- ---------- ---------- ---------- ---------- ------} | |
| 465 | procedure TfrmSignon .FormClose (Sender: T Object; va r Action: TCloseActi on); | |
| 466 | begin | |
| 467 | if Piece (strSize,U ,1) = '2' then | |
| 468 | begin | |
| 469 | strSiz e := '2^'+ IntToStr(W idth)+ U + IntToStr( Height); | |
| 470 | WriteR egData(HKC U, REG_SIG NON, 'Sign onSiz', st rSize); | |
| 471 | end; | |
| 472 | ||
| 473 | if Piece (strPositi on,U,1) = '2' then | |
| 474 | begin | |
| 475 | strPos ition := ' 2^'+IntToS tr(Top)+ U + IntToSt r(Left); | |
| 476 | WriteR egData(HKC U, REG_SIG NON, 'Sign onPos', st rPosition) ; | |
| 477 | end; | |
| 478 | Applicat ion.HelpFi le := Orig Help; // Restore he lpfile. | |
| 479 | end; | |
| 480 | ||
| 481 | ||
| 482 | {--------- ---------- -- TfrmSig non.introT extURLClic k -------- ------ | |
| 483 | Implement 'click' on a URL in the introT ext box | |
| 484 | ---------- ---------- ---------- ---------- ---------- ---------- ------} | |
| 485 | procedure TfrmSignon .introText URLClick(S ender: TOb ject; URL: String); | |
| 486 | begin | |
| 487 | //URL := TIdURI.UR LEncode(UR L); //Indy I dURI unit | |
| 488 | ShellExe cute(Appli cation.Han dle,'open' ,PChar(URL ),nil,nil, SW_NORMAL) ; | |
| 489 | end; | |
| 490 | ||
| 491 | ||
| 492 | {--------- ---------- -- TfrmSig non.DoVeri fy ------- ---------- ------ | |
| 493 | Invoke VCE dit form i f Change V erify Code box is ch ecked | |
| 494 | ---------- ---------- ---------- ---------- ---------- ---------- ------} | |
| 495 | function T frmSignon. DoVerify: Boolean; | |
| 496 | var | |
| 497 | VCEdit1: TVCEdit; | |
| 498 | begin | |
| 499 | VCEdit1 := TVCEdit .Create(Se lf); | |
| 500 | try | |
| 501 | VCEdit 1.RPCBroke r := Login frmSignonB roker; | |
| 502 | Result := VCEdit 1.ChangeVC KnowOldVC( verifyCode .Text); / /invoke VC Edit form. | |
| 503 | finally | |
| 504 | VCEdit 1.Free; | |
| 505 | end; | |
| 506 | end; | |
| 507 | ||
| 508 | end. |
Araxis Merge (but not the data content of this report) is Copyright © 1993-2016 Araxis Ltd (www.araxis.com). All rights reserved.