• 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. Custom IC SKILL
  3. Error messages appears in my code

Stats

  • Locked Locked
  • Replies 1
  • Subscribers 143
  • Views 13837
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Error messages appears in my code

dell1
dell1 over 14 years ago

 For the attached ruler code there is two error messages appears
when I do the following :

  1. When I start marking the first point of the ruler without editing in the ruler options the following messsage appears in the icfb window:
    *Error* putprop: first arg must be either symbol, list, defstruct or user type - nil
    *Error* load: error while loading file - "*loadstring*"
  2. When I use the multi-segment option then I remove some points the following message appears in  the icfb window:
    *Error* CCSchangeCreateRulerFormPoints: too few arguments (2 expected, 0 given) - nil
    *Error* load: error while loading file - "*loadstring*"

    So could any one help me to fix that ?

    Thanks in advance.
half_ruler_v0p1.il
  • Cancel
  • dmay
    dmay over 14 years ago

    You can run the following commands to get more details for an error:
    sstatus(stacktraceDump t)
    sstatus(stacktrace 10)
    sstatus(traceArgs t)

    With that said, you can see in #2 that the CCSchangeCreateRulerFormPoints is not being called with two arguments it expects. Looking at the enterLine command in CCScreateRuler, you can see that the delPointProc is defined to accept no arguments since the command is given with its parentheses. The addPointProc and doneProc are define to accept the arguments generated by enterLine. Remove the parentheses for the delPointProc and #2 will be fixed.

    Another problem witht he code is your first if statement is not defined correctly:
        if(boundp('CCScreateRulerForm) && CCScreateRulerForm then
          form = CCScreateRulerForm
          form = CCSmakeCreateRulerForm()
          else
        );if

    Notice that there is nothing happening in the else, and that form is defined twice in the if. Move the else between the form statements.

    I also found that hiGetCurrentForm() couldn't be relied upon to get the form id since multiple forms could be open and since the form can be hidden. To get the code to work for me, I made the form id a global variable and replaced all calls to hiGetCurrentForm() with the global variable name.

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel

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