forms pausing SKILL execution

Discussion in 'Cadence' started by Matt, Aug 17, 2004.

  1. Matt

    Matt Guest

    Hi,

    I would like to automate entering data into Cadence forms (Virtuoso).
    I'm familiar with how to open Virtuoso's forms using SKILL, but I
    notice that some forms pause the execution of SKILL code until the
    user manually closes the form, e.g. (the form opened by
    lxEditPlacementStyle()). I was wondering if there is a way override
    this pausing of SKILL execution.

    In retrospect, I only open the form to get the form handle.
    Alternatively, if I could get the form handle without opening the
    form, I wouldn't have to worry about paused execution. Thanks in
    advance for any suggestions.
     
    Matt, Aug 17, 2004
    #1
  2. Matt,

    Forms in DFII are usually blocking. They can be made non-blocking at time of
    creation by using the ?noBlock argument to hiCreateAppForm(), but that
    doesn't help you if you're using an existing form - you can't change a form
    from being blocking to non-blocking.

    Unfortunately in this case the form is built dynamically (at least the first
    time it is used). I don't think it is populated using cdsenv settings either.

    So, one thing you could do is:

    hiRegTimer("myFillInTheForm()" 0)
    lxEditPlacementStyle()

    and define

    procedure(myFillInTheForm()
    ; various field settings, as you want
    lxPlacementStyleForm->somefield->value="blah"
    hiFormDone(lxPlacementStyleForm)
    )

    The hiRegTimer() says that 0 tenths of a second after SKILL returns to the
    top level event loop, call the SKILL function. Then immediately afterwards,
    open the form. When it returns to the top level, your callback can be
    called, and it can do the work.

    However, this is a bit of a hack. I'd contact customer support and ask for
    a cleaner way of automating this (it may well need an enhancement to give you a
    non-UI API for setting up the placement style - assuming that there isn't one
    already).

    Regards,

    Andrew.
     
    Andrew Beckett, Aug 19, 2004
    #2
Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.