I now got this message, Jeff -- thanks.  GW recommended that we queue
the call to CheckForUpdate, so that is what I did.  Essentially that
code was reviewed as part of my Script Template.  I think your code that
says oCheckForUpdate.CheckForUpdate should be oCheckForUpdate.Check.  I
am surprised that you found that a Function was needed instead of a Sub
-- that has not been my experience.  Nonetheless, you have solved the
mystery, which I guess was not affecting me because of a timing
variation in the queuing, and I should be able to code a solution that
resolves this and hopefully other scripts that have exhibited a similar
problem!

Cheers,
Jamal

On Thu, 11 Sep 2008, Jeff Bishop wrote:

> Date: Thu, 11 Sep 2008 19:31:54 -0700
> From: Jeff Bishop <[EMAIL PROTECTED]>
> Reply-To: [email protected]
> To: [email protected]
> Subject: Re: IE max follow up.
>
> Hello Scripters and specifically Jamal,
>
> Jamal, due to the way your logic is written in:
>
> Function HandleStateChange(sObject, bLoaded)
>
> you need to insure that you do not Queue the call to check for update.  You
> need to insure it completes before you hit the code below.
>
> For those interested, here is how I troubleshooted the issue:
>
> 1.  I first added a bunch of lines that looked like the following:
>
> Dim boolFlag
> boolFlag = False
> If oHomer Is Nothing Then
> Speak "Homer not found"
>  boolFlag = True
> Else
>  Speak "Homer found"
>  End If
>  If oHotkeyManager Is Nothing Then
>   Speak "hotkey manager not found"
>    boolFlag = True
>   Else
>    Speak "hotkey manager found"
>  End If
>   If oHelpDialog Is Nothing Then
>    Speak "Help dialog not found"
>     boolFlag = True
>    Else
>     Speak "Help dialog found"
>  End If
>    If oCheckForUpdate Is Nothing Then
>     Speak "check for update not found"
>      boolFlag = True
>     Else
>      Speak "Check for Update found"
>  End If
>     If oErrorReporting Is Nothing Then
>      Speak "error reporting not found"
>  boolFlag = True
> Else
>  Speak "Error Reporting Found"
>  End If
>
> If boolFlag Then
> SetData "ScriptInitialized", False
> Else
> If iHandleHotkey = 0 Then ConnectEvent Application, "OnHotkey",
> "HandleHotkey"
> If iHandleActivate = 0 Then ConnectEvent DesktopWindow, "OnChildActivate",
> "HandleActivate"
> RegisterHotkeys
> SetData "ScriptInitialized", True
> End If
> End Function
>
> The code originally looked like this:
>
> If oHomer Is Nothing Or oHotkeyManager Is Nothing Or oHelpDialog Is Nothing
> Or oCheckForUpdate Is Nothing Or oErrorReporting Is Nothing Then
> SetData "ScriptInitialized", False
> Else
> If iHandleHotkey = 0 Then ConnectEvent Application, "OnHotkey",
> "HandleHotkey"
> If iHandleActivate = 0 Then ConnectEvent DesktopWindow, "OnChildActivate",
> "HandleActivate"
> RegisterHotkeys
> SetData "ScriptInitialized", True
> End If
> End Function
>
> I did this to pin point which shared object was failing.
>
> 2.  I then examined the SetCheckForUpdate procedure and found a bug.  I
> changed it to this:
>
> If oScriptINI.Number("Automatic_Updates", "OnScriptStart", 0) = 1 Then
> oCheckForUpdate.CheckForUpdate
>
> In addition, I added a speak statement to it at the top.  So, it read:
>
> Speak "Checking for update"
>
> Set oCheckForUpdate =
> SharedObjects("com.GWMicro.GWToolkit.CheckForUpdate").NewCheck
> With oCheckForUpdate
> .ScriptVersion = oData("ScriptVersion")
> .UpdateUrl = oData("ScriptUpdateURL")
> End With
>
>     If oScriptINI.Number("Automatic_Updates", "OnScriptStart", 0) = 1 Then
> oCheckForUpdate.CheckForUpdate
>
> 3.  I then ran the code and noticed that CheckForUpdate was not being seen
> or, well, it was but the issues still persisted where keys were not being
> initialized.
>
> 4.  I then went to the on state change function and did this:
>
> Case "com.GWMicro.GWToolkit.CheckForUpdate"
> If bLoaded Then
> Call SetCheckForUpdate
> Else
> Set oCheckForUpdate = Nothing
> End If
>
> I had to change the SetCheckForUpdate to a sub from a function as well, so
> it read:
>
>
> Sub SetCheckForUpdate()
> ' Set CheckForUpdate object, and check if auto setting
>
> Speak "Checking for update"
>
> Set oCheckForUpdate =
> SharedObjects("com.GWMicro.GWToolkit.CheckForUpdate").NewCheck
> With oCheckForUpdate
> .ScriptVersion = oData("ScriptVersion")
> .UpdateUrl = oData("ScriptUpdateURL")
> End With
>
>     If oScriptINI.Number("Automatic_Updates", "OnScriptStart", 0) = 1 Then
> oCheckForUpdate.CheckForUpdate
>
> End Sub
>
>
> I then ran the script, and guess what, it worked.
>
> So, there you go, everyone should be happy <grin>.
>
>
> ----- Original Message -----
> From: "Jamal Mazrui" <[EMAIL PROTECTED]>
> To: <[email protected]>
> Sent: Thursday, September 11, 2008 7:29 PM
> Subject: Re: IE max follow up.
>
>
> > I'm not finding the note you seem to be referencing.  What did you find
> > out?
> >
> > Jamal
> > On Thu, 11 Sep 2008, Jeff Bishop wrote:
> >
> >> Date: Thu, 11 Sep 2008 19:13:12 -0700
> >> From: Jeff Bishop <[EMAIL PROTECTED]>
> >> Reply-To: [email protected]
> >> To: [email protected]
> >> Subject: Re: IE max follow up.
> >>
> >> See my note about IEMax, it is an issue with CheckForUpdate.
> >> ----- Original Message -----
> >> From: "Jamal Mazrui" <[EMAIL PROTECTED]>
> >> To: <[email protected]>
> >> Sent: Thursday, September 11, 2008 7:09 PM
> >> Subject: Re: IE max follow up.
> >>
> >>
> >> > What version of IE?  Can you install Query Settings, press Alt-Insert-Q
> >> > with IE as the active window, and report whether IE Max is mentioned?
> >> >
> >> > Jamal
> >> > On
> >> > Thu, 11 Sep 2008, jim grimsby Jr. wrote:
> >> >
> >> >> Date: Thu, 11 Sep 2008 18:02:16 -0700
> >> >> From: jim grimsby Jr. <[EMAIL PROTECTED]>
> >> >> Reply-To: [email protected]
> >> >> To: [email protected]
> >> >> Subject: IE max follow up.
> >> >>
> >> >> Hi did the test Jeff request and still no go.
> >> >> Sorry
> >> >>
> >> >
> >>
> >
>

Reply via email to