• 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 PCB Editor
  3. How to close Form before running another procedure

Stats

  • State Verified Answer
  • Replies 2
  • Subscribers 159
  • Views 2169
  • Members are here 0
More Content

How to close Form before running another procedure

Dave413
Dave413 8 months ago

Hello,

I have a skill routine that starts by initiating a form with a few radio buttons. Once radio button is selected is the user proceeds by pressing the "Extract" button.

The program will then prompt the user to box select some elements before terminating.

My issue is that the form annoyingly stays open while the user is prompted to box select elements even though in my code, axlFormClose is called before my extractLegacy() procedure.

Any help on this would be much appreciated. Relevant .il code pasted below

Thanks,

David Nguyen

-------------------------------------------------------------------------------------------------

form = '("

FILE_TYPE=FORM_DEFN VERSION=2
FORM
FIXED
PORT 50 50
HEADER \"Parts List Extractor\"

TILE

TEXT \"Script will output parts list extract .txt and pl_compare.xlsm in current .brd directory.\"
TLOC 2 1
ENDTEXT

TEXT \"For Legacy PL extract, PL columns should be selected by relevant group followed by right click Next \"
TLOC 2 3
ENDTEXT

FIELD integral
FLOC 2 8
CHECKLIST \"Integral PL\" \"radio\"
ENDFIELD

FIELD legacy
FLOC 2 10
CHECKLIST \"Legacy PL\" \"radio\"
ENDFIELD

FIELD extract
FLOC 2 12
MENUBUTTON \"EXTRACT\" 9 3
ENDFIELD

FIELD cancel
FLOC 6 12
MENUBUTTON \"CANCEL\" 9 3
ENDFIELD
ENDTILE

ENDFORM
")

procedure( start_gui()

myForm = axlFormCreate('_mil_myForm list("myform" form) '("msgLines" 0) 'formAction nil nil)
axlFormSetField(myForm "integral" t)
axlFormDisplay(myForm)

)


procedure( formAction(myForm)

case(myForm->curField

("extract"

isIntegral = axlFormGetField(myForm "integral")


if(isIntegral then

axlFormClose(myForm)
extractIntegral()

else

axlFormClose(myForm)
extractLegacy()

);end if
)

("cancel"

axlFormClose(myForm)
)

); end case

); end procedure

  • Sign in to reply
  • Cancel
Parents
  • Hoangkhoipcb
    +1 Hoangkhoipcb 8 months ago

    Hi David Nguyen!

    Can you refer this solution.

    Best Regard.

    HoangKhoi.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Reject Answer
    • Cancel
Reply
  • Hoangkhoipcb
    +1 Hoangkhoipcb 8 months ago

    Hi David Nguyen!

    Can you refer this solution.

    Best Regard.

    HoangKhoi.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Reject Answer
    • Cancel
Children
  • Dave413
    0 Dave413 8 months ago in reply to Hoangkhoipcb

    Thanks Hoang, this worked!

    • 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