Alpha Video Training
Results 1 to 4 of 4

Thread: Scripteditor_Open() Interactive Window issue

  1. #1
    VAR csda1's Avatar
    Real Name
    Ira J Perlow
    Join Date
    Apr 2000
    Location
    Boston, Massachusetts, USA
    Posts
    3,530

    Default Scripteditor_Open() Interactive Window issue

    This is an odd bug of the script editor (fails in A5v8 through A5v11, probably earlier versions too) that is illustrated with a simple example. This is a case where code<>code.

    I believe it has something to do with the environment of the interactive window (WITH-END WITH) but can't get the test function to ever work when run from the interactive window. The only real difference is executing Scripteditor_Open()
    function individually vs running the same code in a function from the Interactive Window. When run from other Alpha locations, it seems to work.

    The 1st Scripteditor_Open() always works in the function, but subsequent ones fails.

    Here is a test function with notes in it:
    Code:
    FUNCTION test_code_ed AS C (funcname1 AS C, funcname2 AS C, funcname3 AS C )
    'DESCRIPTION: Test code Editor scripteditor_open() function
    
    ' Illustrates unexplained error.  Fails in A5v8 through A5v11, perhaps earlier as well.
    ' function names can be either "functionname1" or "functionname1()", use names of your own functions
    
    ' Running 3 scripteditor_open() lines from the interactive editor (select all text, use lightning bolt)
    ' or run each individually produces no error, as in
    '        scripteditor_open("functionname1","function")
    '        scripteditor_open("functionname2","function")
    '        scripteditor_open("functionname3","function")
    
    ' However, when this function is run from the Interactive Window, as in
    '        test_code_ed("functionname1", "functionname2", "functionname3")
    ' it will fail at the opening of the 2nd and 3rd scripts
    '        
    Statusbar.Set_Text("Opening Function: "+funcname1)
    scripteditor_open(funcname1,"function")
    Statusbar.Set_Text("Opening Function: "+funcname2)
    scripteditor_open(funcname2,"function")
    Statusbar.Set_Text("Opening Function: "+funcname3)
    scripteditor_open(funcname3,"function")
    
    END FUNCTION
    Regards,

    Ira J. Perlow
    Computer Systems Design


    CSDA A5 Products
    New - Free CSDA DiagInfo - v1.39, 30 Apr 2013
    CSDA Barcode Functions

    CSDA Code Utility
    CSDA Screen Capture



  2. #2
    VAR csda1's Avatar
    Real Name
    Ira J Perlow
    Join Date
    Apr 2000
    Location
    Boston, Massachusetts, USA
    Posts
    3,530

    Default Re: Scripteditor_Open() Interactive Window issue

    Just to be complete, in a similar way, UDF_Design() (and I suspect Script_Design() as well) does exactly the same thing. Here is it's test code:
    Code:
    FUNCTION test_code_ed AS C (funcname1 AS C, funcname2 AS C, funcname3 AS C )
    'DESCRIPTION: Test code Editor scripteditor_open()/UDF_Design() function
    
    ' Illustrates unexplained error.  Fails in A5v8 through A5v11, perhaps earlier as well.
    ' function names can be either "functionname1" or "functionname1()", use names of your own functions
    
    ' Running 3 scripteditor_open() or UDF_Design lines from the interactive editor (select all text, use lightning bolt)
    ' or run each individually produces no error, as in
    '		scripteditor_open("functionname1","function")
    '		scripteditor_open("functionname2","function")
    '		scripteditor_open("functionname3","function")
    
    ' However, when this function is run from the Interactive Window, as in
    '		test_code_ed("functionname1", "functionname2", "functionname3")
    ' it will fail at the opening of the 2nd and 3rd scripts
    '		
    Statusbar.Set_Text("Opening Function: "+funcname1)
    'scripteditor_open(funcname1,"function")
    udf_design(funcname1,"")
    
    Statusbar.Set_Text("Opening Function: "+funcname2)
    'scripteditor_open(funcname2,"function")
    udf_design(funcname2,"")
    
    Statusbar.Set_Text("Opening Function: "+funcname3)
    'scripteditor_open(funcname3,"function")
    udf_design(funcname3,"")
    
    END FUNCTION
    Addendum: The test_code_ed("functionname1", "functionname2", "functionname3") line fails if you press enter at the end of the line in the Interactive editor, but not if you select the code, then press the lightning bolt.
    Last edited by csda1; 10-26-2011 at 05:30 PM. Reason: Additional info
    Regards,

    Ira J. Perlow
    Computer Systems Design


    CSDA A5 Products
    New - Free CSDA DiagInfo - v1.39, 30 Apr 2013
    CSDA Barcode Functions

    CSDA Code Utility
    CSDA Screen Capture



  3. #3
    Member
    Real Name
    brett sinclair
    Join Date
    Aug 2002
    Location
    Wellington, New Zealand
    Posts
    858

    Default Re: Scripteditor_Open() Interactive Window issue

    Hi Ira. I observe the same behavior in A5v9 as you are reporting. I presume you are using A5 code editor functions in CSDA. I use them in my PGPre utility and I have to admit to a lot of arm wrestling with these functions to get them to work correctly.

    Anyway, this may help. I notice if I run your 'test_code_ed()' from the interactive tab of the code editor window, I get the errors you describe. However I also notice that if I create a global script (instead of a UDF) that contains just a single line of code 'test_code_ed()' without the quotes, save it and then run that script from the code tab of the control panel (not the interactive tab), then it works OK.

    If I try and run this script from the interactive code window using script_play(), I still get the same error.

    Now I am not sure this suggests a work-around to you, but I certainly hope so. These are clearly some bugs in these A5 functions that could do with some investigation by someone who has access to their code.

  4. #4
    VAR csda1's Avatar
    Real Name
    Ira J Perlow
    Join Date
    Apr 2000
    Location
    Boston, Massachusetts, USA
    Posts
    3,530

    Default Re: Scripteditor_Open() Interactive Window issue

    Hi Brett,

    Quote Originally Posted by brett s View Post
    Hi Ira. I observe the same behavior in A5v9 as you are reporting. I presume you are using A5 code editor functions in CSDA. I use them in my PGPre utility and I have to admit to a lot of arm wrestling with these functions to get them to work correctly.
    Actually, I don't have any problems, except if a function or a script_play is run from the interactive window followed by a return. If you select (highlight the code) in the interactive window, then press the lightning bolt, it works.

    This implies that the lightning bolt execution is not really the same as hitting enter at the end of a single line.

    Quote Originally Posted by brett s View Post
    Anyway, this may help. I notice if I run your 'test_code_ed()' from the interactive tab of the code editor window, I get the errors you describe. However I also notice that if I create a global script (instead of a UDF) that contains just a single line of code 'test_code_ed()' without the quotes, save it and then run that script from the code tab of the control panel (not the interactive tab), then it works OK.

    If I try and run this script from the interactive code window using script_play(), I still get the same error.

    Now I am not sure this suggests a work-around to you, but I certainly hope so. These are clearly some bugs in these A5 functions that could do with some investigation by someone who has access to their code.
    This does not give a workaround, and effectively, you are doing exactly the same thing, whether a script or function. The point is primarily to allow someone to invoke a process (the CSDA code Utility) from the Interactive Window. I haven't found any workaround that can be in the code itself.

    Another piece that may point to something is that if I open another XDialog box that has a code editor/Interactive Window, it works from that Interactive window. So it is specific to the Code Editor's Interactive Window.

    I have tried a variety of With-End With statements in order to provide the code pointer's environment, but has not worked to date.

    Thanks for your input though. Maybe Alpha will comment.

    The real point is that somehow the environment at execution of single line is not allowing the code editor's window and it's properties to be available (despite the context showing the code editor).
    Regards,

    Ira J. Perlow
    Computer Systems Design


    CSDA A5 Products
    New - Free CSDA DiagInfo - v1.39, 30 Apr 2013
    CSDA Barcode Functions

    CSDA Code Utility
    CSDA Screen Capture



Similar Threads

  1. Can't open interactive window
    By databaser in forum Alpha Five Version 10 - Desktop Applications
    Replies: 11
    Last Post: 10-22-2011, 09:39 PM
  2. Can you print from the interactive window?
    By MikeData in forum Alpha Five Version 9 - Desktop Applications
    Replies: 2
    Last Post: 10-10-2010, 04:19 PM
  3. Interactive Window Memory
    By samkerr in forum Alpha Five Version 7
    Replies: 3
    Last Post: 01-10-2006, 09:19 AM
  4. interactive window
    By Mark Lucas in forum Alpha Five Version 5
    Replies: 14
    Last Post: 04-19-2004, 09:23 PM
  5. Interactive window, how to
    By BDennis in forum Alpha Five Version 4
    Replies: 6
    Last Post: 12-30-2002, 09:22 AM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •