• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Allegro X Scripting - Skill
  3. detecting when a form is closed

Stats

  • State Verified Answer
  • Replies 6
  • Subscribers 19
  • Views 2062
  • Members are here 0
More Content

detecting when a form is closed

PatEscher
PatEscher over 1 year ago

Hello,
I am trying to automate some tasks for IDX export in Allegro in skill
To do this, I am calling the "idx out" command which brings up the IDX Export form.
I can automate to fill in the form and 'execute' it.
The problem now is, that the form itself is kind of wizard style and has multiple screens the user interactive has to confirm (which is fine).
The wizard then comes back to the initial startup form and once the user closes this form then I would like to run a post processing on the created data.

The issue I currently have is that I cannot detect once this form is closed. I really have no other means than calling the "idx out" command in Allegro.

Example Sequence:

- call my registered command
- the command is calling axlShellPost("idx out;_setwindow form.idx_out;");
- form is coming up and with axlpostShell("fillin form....") I fill in data like the filename
- axlShellPost("FORM idx_out execute") then executes the form
- now the idx_out form is changing to the next page and user does something.
- when he confirms, that the form is coming back to the initial state
- user then closes the form
- After this, I want to execute some prostprocess, so I would need to know that the form is closed

>>>>
axlShellPost("idx out;_setwindow form.idx_out;");
axlShellPost("FORM idx_out execute");
axlShellPost("now do the job"); --> this line is executed directly after the previous one but it should execute after the idx_out form is closed
axlUIConfirm("Push Data done");



unfortunately it seems that the form is asynchronously, which means that my postprocess code is executed directly after I do the axlShellPost("FORM idx_out execute")

Any idea on how to achieve this?
Is there a way to find the idx_out form and potentially listen on the dispose?

btw, all of this is done in a callback function as I added an additional form for our purpose

  • Sign in to reply
  • Cancel
Parents
  • mahimag
    0 mahimag 11 months ago

    Hey PatEscher , there is a SKILL API, axlUIWPerm , this opens a test form and makes it permanent

    handle = axlFormCreate('testForm "axlform" nil 'testFormCb, t nil)
    axlUIWPerm(handle t)

    May be you can use this  to keep it open until you want to close it.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • PatEscher
    0 PatEscher 11 months ago in reply to mahimag

    Hi mahimag , 

    unfortunately this does not work, as we are not creating the form ourselves but call an Allegro Command (idx out) which brings up the form. so we even do not know the dbid/handle of the form.
    This is why I wanted to do a lookup to find it

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
Reply
  • PatEscher
    0 PatEscher 11 months ago in reply to mahimag

    Hi mahimag , 

    unfortunately this does not work, as we are not creating the form ourselves but call an Allegro Command (idx out) which brings up the form. so we even do not know the dbid/handle of the form.
    This is why I wanted to do a lookup to find it

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
Children
  • mahimag
    +1 mahimag 11 months ago in reply to PatEscher

    Hi PatEscher , I am afraid, there is no built in capability for this as I understand. This can go as Enhancement to Cadence R&D.

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Verify Answer
    • Reject Answer
    • Cancel
  • DavidJHutchins
    0 DavidJHutchins 11 months ago in reply to mahimag

    Pat,

    have you tried using axlRunBatchDBProgram() to run 'idx_out', which may avoid this form issue?

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • PatEscher
    0 PatEscher 11 months ago in reply to DavidJHutchins

    Hello David, 
    yes, but the batch is not an option for us, as we have to go through the user interface. the idx_out is just an example, if you look at the idx in process, you will see that there are forms for use feedback etc.
    The batch clients are working fine if you do not need any user interaction, which is not the case for use

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
Cadence Guidelines

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information