No announcement yet.

Some Forms (Pasted Code) Fail, Others OK?

  • Filter
  • Time
  • Show
Clear All
new posts

  • Some Forms (Pasted Code) Fail, Others OK?

    I'm developing an electronic multi-function gauge for the Porsche 968 platform. I have defined 7 forms so far, and used the "Paste All Code" function to put them into my application.

    About 4 of the forms are fine, but three of them fail when compiling, and the compiler complains that their ixxxH and ixxxL variables are not defined? (screenshot attached)

    I've searched for this error message but can't seem to find it anywhere in the forums or generally online...

    Any suggestions?

    Attached files

  • #2

    I realize that I'm programming this like a Windows app, and defining a "form" for each screen of the interface. During this phase of the project it's necessary to have each of the screens (or "forms") available as they are changing a lot.

    For now, I've had to take out the reference to each form in the code and just call a gfx_Cls() to clear the screen...


    • #3

      The ixxxH and ixxxL variables are defined when the Visual part is 'Built'. This should happen automatically.

      To force a rebuild of the visual part, press shift-F9 (hover over the 'compile' word on the compile tab for hints about this)


      • #4

        Thank you very much for your reply! No joy with shift-F9 (the hover actually shows ctrl-F9, but both seem to do the same thing). When I paste the code in, it errors out as usual.

        I figured as much (they are system-built), and the Workshop 4 IDE has gotten wonky and even crashed a few times (try putting a fraction into a Cool Gauge as the Maximum Value setting, which you would do if measuring "bar" on a small supercharged engine).

        I dug into the .err and other files and found that it was erroring on three forms and skipping the other four, but eventually it errored on them all as I iteratively applied the workaround, so I had to do away with them (e.g. the "gfx_Cls workaround" above).

        As they are all a simple black background, I'm assuming for me it doesn't matter and using "forms" is just an easier way to develop but isn't really required at run time, because the system goes and puts every element onto the screen individually anyway and the form doesn't seem to provide anything but a background color or image?


        • #5

          Yes, you could think of it that way.

          Of course if you are using Genie they are very significant.

          And I guess, for ViSi, since you must enable/disable the 'touchability' of all controls in each form as a group, it can help with your coding to group objects that way.


          • #6

            Using Goldelox, so Genie is out (Picaso only, right?).

            Using the u128-OLED, so no touch.


            • #7

              I have exactly the same mistake!

              I checked the files and the automatic creation did not work ... Have you solved this problem?


              • #8
                This problem is from October 2013, I expect it would have been long ago solved.

                Can you describe your problem in more detail?


                • #9
                  Has this problem been resolved? I'm experiencing the same issue. I create a new form from the widgets toolbar, name the form on the Object Inspector, then click paste code. No code for that form comes out at all. It provides the commented line with the timestamp like normal, but nothing shows up under it. I would expect it to show something like "img_Show(hndl,isettingsScreen) ;" but there is no such line. When I manually type out that line, the code won't compile because it doesn't recognize isettingsScreen. Thoughts?


                  • #10
                    In ViSi a form is 'merely' a collection of objects, for you to use in your program in anyway you see fit.

                    The code pasted for a form is really not applicable except when the for has a Bgtype of 'Image', in which case you will get the code pasted needed to display the background image

                    For a Goldelox ViSi Project you will get something like
                        // Form2 1.1 generated 22/01/2017 4:03:58 PM
                        media_SetAdd(iForm2H, iForm2L) ;      // point to the Form2 image
                        media_Image(0, 0) ;            // show image
                    For a Picaso/Diablo ViSi project you will get
                        // Form2 1.1 generated 22/01/2017 4:05:15 PM
                        img_Show(hndl,iForm2) ;
                    For a bytpe of Image, or
                        // Form1 1.1 generated 22/01/2017 4:04:48 PM
                    for a Bgtype of color