Just to confirm that Aaron's advice worked - thought this might be useful
for anybody else trying to get to grips with VB Script. 


Best wishes.

Tim Burgess
Raised Bar Ltd
Phone:  +44 (0)1827 719822

Don't forget to vote for improved access to music and music technology at

http://www.raisedbar.net/petition.htm
 
-----Original Message-----
From: Tim Burgess [mailto:[EMAIL PROTECTED] 
Sent: 02 October 2008 21:41
To: [email protected]
Subject: RE: VB Script error handling

OK Aaron, many thanks. 


Best wishes.

Tim Burgess
Raised Bar Ltd
Phone:  +44 (0)1827 719822

Don't forget to vote for improved access to music and music technology at

http://www.raisedbar.net/petition.htm
 
-----Original Message-----
From: Aaron Smith [mailto:[EMAIL PROTECTED]
Sent: 02 October 2008 21:09
To: [email protected]
Subject: Re: VB Script error handling

Tim,

Try doing an Exit Function after setting GetNowTime to "No project open." If
I recall, VBScript doesn't immediately exit the routine when you "return" by
setting the function name equal to a value unless you specifically tell it
to.

In addition, be sure to turn of your error handling if it's not needed
anymore, before you exit, and after the ending if, like this:

On Error Resume Next
Set myClips = ActiveMDIChild.Clips(1)
If Err.Number > 0 Then
        GetNowTime = "No project open"
        On Error Goto 0
        Exit Function
Else
        blah
End If
On Error Goto 0

Aaron

Tim Burgess wrote:
> Hi,
> 
> I'm getting to grips with run-time errors in my effort to port the 
> Jaws scripts for Sonar to Window Eyes, but I'm baffled as to what is 
> happening in the code I've listed below.  If an MDIChild window 
> exists, then all is well and I get the results I expect, but the 
> function returns an empty string when an error is encountered (i.e. 
> when
no MDIChild window is present).
> This seems to indicate that the condition (If Err.Number > 0 Then) is 
> operating correctly, so why isn't the assignment working (GetNowTime = 
> "No project open")?
>   
> Function GetNowTime
>       Dim myClips
>       Dim clipObj
> 
> GetNowTime = ""
>       
>       'Get all the clips for the active window On Error Resume Next Set 
> myClips = ActiveMDIChild.Clips(1) If Err.Number > 0 Then GetNowTime = 
> "No project open"
> Else
>       For Each clipObj In myClips
>               If TypeName(clipObj) <> "Empty" Then
>                       If clipObj.Type = ctText Then
>                               Dim firstChar : firstChar =
> Asc(Left(clipObj.Text, 1))
>                               If firstChar > 47 And firstChar < 58 Then '
> Make sure it's a digit
>                                       If clipObj.FontStyle = fsBold And
clipObj.FontSize > 24 Then ' 
> Make sure it's big bold text
>                                               GetNowTime = clipObj.Text
>                                       End If
>                               End If
>                       End If
>               End If
>       Next
> End If
> End Function
> 
> Best wishes.
> 
> Tim Burgess
> Raised Bar Ltd
> PO Box 4442
> Atherstone
> Warwickshire
> CV9 9AT
> 
> Phone:  +44 (0)1827 719822
> Email:  [EMAIL PROTECTED]
> Web:  http://www.raisedbar.net
> 
> Don't forget to vote for improved access to music and music technology 
> at
> 
> http://www.raisedbar.net/petition.htm
>  
> 

--
To insure that you receive proper support, please include all past
correspondence (where applicable), and any relevant information pertinent to
your situation when submitting a problem report to the GW Micro Technical
Support Team.

Aaron Smith
GW Micro
Phone: 260/489-3671
Fax: 260/489-2608
WWW: http://www.gwmicro.com
FTP: ftp://ftp.gwmicro.com
Technical Support & Web Development


Reply via email to