abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 
abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 
Programmierung
Alles über Programmierung in GDL und Python

Variablen von einem Script ins andere

Bernhard Binder
Graphisoft Partner
Graphisoft Partner
Hallo Leute, :confused: :confused:
AC4.5-AC27 AUT, GER, INT
www.a-null.com
9 ANTWORTEN 9
Anonymous
Nicht anwendbar
Verstehe ich nicht ganz. Was willst Du denn machen? Wieso GLOB_USER?

Fall A:
Parameterdefinition in Makro - Wie bekomme ich den Wert in das aufrufende Objekt? Lösbar über gleiche Parameternamen und den parameters-Befehl.

Fall B:
Im Interface-Skript berechnest Du was, was du auch im 2D-Skript verwenden möchtest. Wenn es das ist, finde ich es witzig, daß ausgerechnet einer von GS darüer stolpert. 🙂 GS sollte das endlich mal sauber dokumentieren, wann welche Skripte wie abgearbeitet werden, welche Befehle funktionieren und welche Werte erhalten bleiben.
Wenn das dein Problem ist: Da gibt es keine Lösung. Das Interface-Skript ist am Ende der Fahnenstange. Meine Beobachtung der Abarbeitung, wenn man ins Einstellungsfenster eines Objektes wechselt:

1. Masterskript
2. Parameterskript
3. Reset der loaklen Variablen
4. Masterskript
5. Interfaceskript
6. Reset der lokalen Variablen
7. Masterskript
8. 2D-Skript (oder 3D oder gar keins - je nach gewähltem Vorschaufenster)

Wegen 6. kannst du keine Berechnungswerte retten. Einzige Lösung: Berechnung ins Master verlegen oder redundant im 2D-Skript. Im Master kannst du nicht ausschließen, daß es x-mal berechnet wird, da du keine Abfragemöglichkeit hast, ob du dich in 1.,4. oder 7. befindest.

Andere Frage: Was hast du vor?
Anonymous
Nicht anwendbar
Wobei: Probiers mal mit PUT und GET. Falls das geht, ersuche ich hiermit GS inständig das zu dokumentieren, denn damit könnte beim unsauberen Programmieren von Objekten evt. ein Speicherproblem entstehen.
Bernhard Binder
Graphisoft Partner
Graphisoft Partner
Also, nur um gleich klar zu stellen: Ich bin nicht von Graphisoft! 😞

ich habe im Interface-Script einen Zähler (zählt die Klicks auf eine Checkbox) und diese Zahl möchte ich dann im 2D, bzw 3D Script weiterverwenden. Mit PUT und GET werde ich's mal probieren.
AC4.5-AC27 AUT, GER, INT
www.a-null.com
Anonymous
Nicht anwendbar
</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Zitat:</font><hr /><font size="2" face="Verdana, Helvetica, sans-serif"> Also, nur um gleich klar zu stellen: Ich bin nicht von Graphisoft! Bin ich dir damit zu nahe getreten? Ist das ein Makel? 🙂 🙂 🙂

Probier mal folgendes:

Parameter:
ctnr, checkbox
hits, Ganzzahl

Master-Skript:
if GLOB_MODPAR_NAME="ctnr" then
ctnr=0
hits=hits+1
parameters hits=hits, ctnr=ctnr
endif

Jetzt noch ein schönes Knöpfchen-PICT über die Checkbox und thats it. Super zum Blättern zwischen den UI-Seiten etc.etc. 🙂
Anonymous
Nicht anwendbar
Bei mir erhöht sich hits immer um 2, deshalb muss ich schreiben:

if GLOB_MODPAR_NAME="ctnr" then
ctnr=0
hits=hits+0.5
parameters hits=hits, ctnr=ctnr
endif

Es geht natürlich auch ohne Rückstellung auf Null,
dann hieße es:

if GLOB_MODPAR_NAME="ctnr" then
hits=hits+0.5
parameters hits=hits
endif

Warum 2 Zahlen hochezählt werden bei hits=hits+1,
ist mir allerdings ein Rätsel.

Das selbe Script (hits=hits+1) zählt in ArchiCAD 7 nur um jeweils 1 Ganzzahl hoch.
Wieder eine Eigenwilligkeit von AC 8.1 entdeckt.
Anonymous
Nicht anwendbar
Und bestätigt die Notwendigkeit, daß GS das endlich dokumentiert. Offensichtlich funktioniert PARAMETERS nun in Fall 1 und 4. Oder hat GLOB_MODPARA_NAME nun in 1 und 4 jeweils einen Wert? ...

Bösartige Unterstellung: GS selbst weiß das auch nicht. 😉
Anonymous
Nicht anwendbar
@ Jochen
</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Zitat:</font><hr /><font size="2" face="Verdana, Helvetica, sans-serif"> Wieder eine Eigenwilligkeit von AC 8.1 entdeckt. Probier mal den Code nicht ins Master, sondern in das Parameterskript zu setzen. Dann sollte er nur einmal abgearbeitet werden. Hoffentlich dann auch mit Auswirkung des PARAMETERS-Befehls.
Anonymous
Nicht anwendbar
Ob das Script im Master oder Parameter-Script ist,
spielt keine Rolle; es werden in beiden Fällen bei hits=hits+1 2 Werte hochgezählt.
Anonymous
Nicht anwendbar
😞