ArchiCAD 13 GDL "feature"?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎2009-12-14 12:40 PM
However, a change was made in ArchiCAD 13. Up to a point, everything works in the same way; the user clicks a button, the global variable GLOB_UI_BUTTON_ID is set to the button ID, the parameter script is run, and everything is updated according to the button click. But then - only in AC13 - the same sequence is repeated exactly as if the user clicked on the button again. GLOB_UI_BUTTON_ID is set to the button ID and the parameter script run.
No variable or flag indicates whether the parameter script has run because the user clicked on a button or if it is a subsequent 'echo', which means that the button function will be repeated as many times as the parameter script is run. I've been advised that developers should not count on it running a specific number of times either.
Apparently this isn't a bug, but I'm at a loss to understand why this change has been made and how it could be beneficial. Has anyone been asking for this, or found it to be helpful in some way?
Central Innovation
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎2009-12-14 05:29 PM
In some of my objects I used a normal "icon- parameter" instead.
but I think I soleved it some way - I do not remember now...I will paste it later today if You are interested.
Best Regards,
Piotr
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎2009-12-14 05:42 PM
Piotr wrote:No, I have objects developed many versions ago that changed their behaviour radically under AC13. And GS has confirmed this is new in AC13.
Afair it was the same in 12...I mean "worked twice"
In some of my objects I used a normal "icon- parameter" instead.
but I think I soleved it some way - I do not remember now...I will paste it later today if You are interested.
I've already implemented a work-around, but my question is, "why has this changed?" and more importantly, "has anyone benefited from this change?". If there's no benefit or reason for this change, it can only be a bug (and should be fixed).
Central Innovation
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎2009-12-14 06:23 PM
Best Regards,
Piotr

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎2009-12-15 06:45 PM
Both of you are right.
1. All AC versions execute parameter script as many times as needed to create implied changes iteratively.
2. The value of GLOB_MODPAR_NAME and GLOB_BUTTON_ID are kept in these 'echo' runs. They always were.
3. There is a change in AC13: you cannot change the value of the global variable in the first run. This killed the usual workaround.
There is a solution though. (And I'm owing Ralph an answer about it in private for a few days now, sorry.) We added an APPLICATON_QUERY option for this purpose. A call looks like this:
n = APPLICATON_QUERY ("PARAMETER_SCRIPT", "FIRSTOCCASION_IN_PROGRESS", isFirstRun)isFirstRun will contain the Boole value showing if it's the first run.
Since this function was added in the beta phase it isn't documented yet. I'll update the online documentation of APPLICATON_QUERY tomorrow.
Sorry for the poor communication of this change...
Regards,
ArchiCAD Development - GDL Team
AC13, AC14 and upwards...
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎2009-12-15 10:48 PM
ztaskai wrote:Thanks Zsolt - that's exactly what I needed.
We added an APPLICATON_QUERY option for this purpose. A call looks like this:n = APPLICATON_QUERY ("PARAMETER_SCRIPT", "FIRSTOCCASION_IN_PROGRESS", isFirstRun)
Central Innovation

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎2009-12-16 10:57 AM
ztaskai wrote:I updated the doc. Basic Library is available from the usual URL:
I'll update the online documentation of APPLICATON_QUERY tomorrow.
Direct link to this chapter:
Regards,
ArchiCAD Development - GDL Team
AC13, AC14 and upwards...

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎2009-12-17 01:50 PM
Ralph wrote:Got it!
Existing users should ask their reseller for the AC13 update

bT Square Peg
https://archicadstuff.blogspot.com
https://www.btsquarepeg.com
| AC INT | Win11 | Ryzen 5700 | 32 GB | RTX 3050 |
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎2009-12-17 02:25 PM
ztaskai wrote:Does this mean all the globals
3. There is a change in AC13: you cannot change the value of the global variable in the first run. This killed the usual workaround.




- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎2009-12-17 02:53 PM
Juha wrote:Yes. Definitely. You can change them in one run for the current run itself but not between elements or between runs. Your changes to the AC globals are dropped after your run. This fix was very important to increase stability and speed. This change doesn't affect scripts which don't communicate with other objects or later executions via globals.
Hello,
ztaskai wrote:Does this mean all the globals :shock: :?: :!:
3. There is a change in AC13: you cannot change the value of the global variable in the first run. This killed the usual workaround.
Regards,
ArchiCAD Development - GDL Team
AC13, AC14 and upwards...