Search code examples
debuggingtrace32lauterbach

Is it possible to manually refresh the contents of a .per file?


I have custom .per files used to provide the user a way to interact with an application from Lauterbach. However, once in a while the values of some variables do not update and the only way to get it back to regular functioning is to close the per file and re-open it.

Is there a command that can be called to "self-refresh" the .per file?


Solution

  • Unless you have limited the updating of windows showing memory (e.g. with command MAP.UpdateOnce) all values should be updated periodically (according to SETUP.UpdateRATE).

    So I think, there should be no need for a refresh command. Maybe you should contact Lauterbach support and they can help you to find the source, why some values are not updated..

    Anyway, the command to force an update of all windows showing memory is Data.UPDATE

    If Data.UPDATE is not doing the trick, you could also add a button to your PER window, which allows you to easily re-open the window. To do that, use the following PRACTICE script (cmm-script):

    MENU.ReProgram
    (
        ADD
        BUTTONS "per.-W"
        (
            MENUITEM "[:refresh]refresh"
            (
                PRIVATE &cmd &left &up
                &cmd=WINdow.COMMAND(WinTOP)
                &left=WINdow.POSition(WinTOP,LEFT)
                &up=WINdow.POSition(WinTOP,UP)
                WinCLEAR WinTOP
                WinPOS &left &up
                &cmd
            )
        )
    )
    

    You need to execute this code before opening the PER window. (I suggest to add this code to the file C:\t32\system-settings.cmm to get it executed on every start of PowerView.)

    When opening a new PER window after executing the script, your PER window will have this button: enter image description here

    When clicking the button it will re-open your PER window.

    You can add a button for Data.UPDATE to your PER windows in the same way.