Indigo Rose Software

Professional Software Development Tools

 
+ Reply to Thread
Results 1 to 8 of 8
  1. #1
    Join Date
    Apr 2012
    Posts
    4

    No value from Application.Exit(errorCode)

    I need TrueUpdate to return some error code if a problem occurs.

    The script I am using will return code 1013 from the client script. The very last line on the client side is Application.Exit(error);. error is 1013.

    I am testing using this process:
    1. open cmd and navigate to TrueUpdateClient.exe
    2. run TrueUpdateClient.exe and wait for program to finis.
    3. echo %ERRORLEVEL%

    ERRORLEVEL will always return 0 in command prompt. The expected ERRORLEVEL in command prompt should be 1013.

    How can I have this error code show up?

    I am using 32bit windows xp.

  2. #2
    Join Date
    Apr 2005
    Location
    Tabo„o da Serra
    Posts
    3,421
    No problems here getting the desired exit code. Post your project file.

    Ulrich

  3. #3
    Join Date
    Apr 2012
    Posts
    4
    Attached is the tu2 file.

    Here is an example of the XML I am using:
    <?xml version='1.0' encoding='UTF-8' ?>
    <Server>
    <Version Value='1.1.1' />
    <Item>
    <File Value='patch_gray.exe' />
    <File Value='patch_blue.exe' />
    </Item>
    </Server>

    I run this file using:
    TrueUpdateClient.exe /normal /TargetVersion="1.1"
    Attached Files

  4. #4
    Join Date
    Apr 2005
    Location
    Tabo„o da Serra
    Posts
    3,421
    The script I am using will return code 1013 from the client script. The very last line on the client side is Application.Exit(error);. error is 1013.
    There is no such line at the end of the Client Script. However, there is a Application.Exit(0); at the end of the Server Script, and this is most likely what is being executed.

    I think that you need to add some debugging code and error checking.

    You load a XML document, yet you make no attempt to check if it is indeed a properly formatted XML file (or string). You should really add error checking after XML.SetXML().

    You also may want to check that g_tableFiles[] does indeed contain valid data before you proceed, attempting to run a loop on the table which may be nil.

    Lua cannot process UTF-8 encoded files, so use ANSI encoded files instead, as in <?xml version="1.0" encoding="iso-8859-1"?>.

    It might be best if you open a debug window when running the script (Debug.ShowWindow()), and enable trace mode (Debug.SetTraceMode()). Keep this window open until you reach the end of the script, where you may want to add a Dialog.Message() asking to close the application manually before any Application.Exit(), so you can check the code that was executed.

    Ulrich

  5. #5
    Join Date
    Apr 2012
    Posts
    4
    Thank you for your response. It seems trueupdate doesn't save the file during build, so the version I uploaded was out of date. The correct version is attached (good_version.tu2).

    As for your other comments, nothing is wrong with the script. I am purposely generating an error to test return codes. I see the downloaded files show up and execute when needed.

    The xml parses fine using encoding UTF-8, but I will use the suggested encoding type as well as adding validation.

    To test just the return code, I created a new project (test.tu2).
    The client script and server script (which shouldn't be called) consist of the same code:
    error = 20;
    TrueUpdate.WriteToLogFile(error);
    Application.Exit(error);


    After running this project, I see this in command prompt:
    C:\Test>echo %ERRORLEVEL%
    0

    C:\Test>TrueUpdateClient.exe

    C:\Test>echo %ERRORLEVEL%
    0

    and this in the generated log file:
    [04/17/2012 14:39:29] Success Update started: C:\Test\TrueUpdateClient.exe
    [04/17/2012 14:39:29] Notice Update engine version: 3.5.5.0
    [04/17/2012 14:39:30] Notice Product: patch
    [04/17/2012 14:39:30] Success Language set: Primary = 9, Secondary = 1
    [04/17/2012 14:39:30] Success Include script: _TU20_Global_Functions.lua
    [04/17/2012 14:39:30] 20[04/17/2012 14:39:30] Success Run client data event: Client Script
    [04/17/2012 14:39:30] Notice Exit update process (Return code: 20)


    In my own script, I see a similar line for Exit update process (Return code: 1013). However, Errorlevel remains 0.
    Attached Files

  6. #6
    Join Date
    Apr 2005
    Location
    Tabo„o da Serra
    Posts
    3,421
    No problems here. Perhaps you could perform your tests using a batch file to get a valid ERRORLEVEL back...


    Ulrich
    Last edited by Ulrich; 04-17-2012 at 01:31 PM.

  7. #7
    Join Date
    Apr 2012
    Posts
    4
    I just tried a c++ program. Return value was fine there.

    I'm sure it would work as a .bat file with my program as well.

    Thanks for your help!

  8. #8
    Join Date
    Jan 2001
    Location
    Shelton,WA
    Posts
    3,135
    Quote Originally Posted by s2s View Post
    I am testing using this process:
    1. open cmd and navigate to TrueUpdateClient.exe
    2. run TrueUpdateClient.exe and wait for program to finis.
    3. echo %ERRORLEVEL%
    Your test is flawed -- unless you put the "echo %errorlevel%" in a batch file -or- you use "start /w TrueUpdateClient.exe" -- it will always say 0

Posting Permissions

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