Sign in to follow this  
Followers 0
emmanuel

Why Does My Sleep Window Blink?

5 posts in this topic

I'm guessing it's the adlib that's causing it, but why would that be?

AdlibEnable("OracleSplash",5000)

; launch GMS.VBS to install app

Run('cscript.exe "\\spseprt1\windist\ITProcedures\Application Setups\ETS Gas Install\CGP6.1.14\GMS.Vbs"', "", @SW_HIDE)
EnsureActive("Puget Sound Energy", "You are about to install Caminus Gas for Puget Sound Energy.")
ControlClick("Puget Sound Energy", "&Yes", "Button1")
SplashTextOn("CGP for PSE", "Please wait while Caminus Gas is installed, this can take several minutes")

;gms.vbs complete message
WinWait("Puget Sound Energy", "Caminus Gas for Puget Sound Energy has been installed successfully.")
ControlClick("Puget Sound Energy", "Caminus Gas for Puget Sound Energy has been installed successfully.", "Button1")
SplashOff()
MsgBox(0, "Puget Sound Energy", "Caminus Gas for Puget Sound Energy Disaster Recovery has been installed successfully.")
RunAsSet()



Func EnsureActive($SZTITLE, $SZTEXT)
  ;function by Larry, ensures window is on top.
   WinWait($SZTITLE, $SZTEXT, 90)
   While Not WinActive($SZTITLE, $SZTEXT)
      WinActivate($SZTITLE, $SZTEXT)
      Sleep(100)
   Wend
   WinWaitActive($SZTITLE, $SZTEXT, 90)
EndFunc  ;==>EnsureActive

Func OracleSplash()
   While WinExists("Oracle Universal Installer") = 1
      SplashTextOn("CGP for PSE", "Installing Oracle before Installing GMS")
      Sleep(5000)
   Wend
   SplashTextOn("CGP for PSE", "Please wait while Caminus Gas is installed, this can take several minutes")
EndFunc  ;==>OracleSplash

"I'm not even supposed to be here today!" -Dante (Hicks)

Share this post


Link to post
Share on other sites



Calling SplashTextOn() over and over causes a display flicker. You can avoid that by using ControlSend("Title of splash window", "", "Static1", "New text") instead of SplashTextOn() (I think that's the correct control).

Share this post


Link to post
Share on other sites

SplashTexOn does that ...

You can avoid this by doing something like:

Global $L_MSG = ""

Showmenu("line1" & @LF,1)
sleep(500)
Showmenu("line2" & @LF,1)
sleep(500)
Showmenu("line3" & @LF,1)
sleep(500)
Showmenu("New line1",0)
sleep(500)


Func ShowMenu($G_MSG,$CONCAT)
   $W_TITLE="Test Window"
   If $CONCAT = 1 Then
      $L_MSG = $L_MSG & $G_MSG
   Else
      $L_MSG = $G_MSG
   EndIf
   If WinExists($W_TITLE) Then
      ControlSetText($W_TITLE,"","Static1",$L_MSG)
   Else
      SplashTextOn($W_TITLE,$L_MSG,600,200,1,1,4,"Courier",10,600)
   EndIf
   Return 0
EndFunc  ;==>ShowMenu

Visit the SciTE4AutoIt3 Download page for the latest versions        Beta files                                                          Forum Rules
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Share this post


Link to post
Share on other sites

or from the help file:

Example

SplashTextOn("Title", "Message goes here.", -1, -1, -1, -1, 4, "", 24)
Sleep(3000)
SplashOff()

;; FLICKER
$message = ""
SplashTextOn("TitleFoo", $message, -1, -1, -1, -1, 4, "")
For $x = 1 to 20
    $message = $message & $x & @LF
    SplashTextOn("TitleFoo", $message, -1, -1, -1, -1, 4, "")
    Sleep(100)
Next

;; SMOOTH
$message = ""
SplashTextOn("TitleFoo", $message, -1, -1, -1, -1, 4, "")
For $x = 1 to 20
    $message = $message & $x & @LF
    ControlSetText("TitleFoo", "", "Static1", $message)
    sleep(100)
Next

AutoIt3, the MACGYVER Pocket Knife for computers.

Share this post


Link to post
Share on other sites

very cool, thanks guys, I'm going to try doing a combination, as such:

Func OracleSplash()
   If WinExists("Oracle Universal Installer") = 1 Then
      ControlSetText("CGP for PSE","","Static1", "Installing Oracle before Installing GMS")
      Sleep(500)
   Else 
      ControlSetText("CGP for PSE","","Static1", "Please wait while Caminus Gas is installed, this can take several minutes")
      Sleep(10000)
   EndIf


"I'm not even supposed to be here today!" -Dante (Hicks)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0