Problem mit Prozeduren

  • Hallo Leute,

    ich habe ein Problem mit der Erstellung von Prozeduren.
    Beim ausführen von "GetColor" bekomme ich vom Parser immer Fehler 1006.

    Hier mein DDF (Auszug), es kommen natürlich noch weitere Prozeduren hinzu, wenn erstmal die erste Setter/Getter Kombi läuft.

    <?xml version="1.0" encoding="ISO-8859-1"?>

    <device image="Patend.gif">
    <information>
    <name>GLP Patend Light 1200</name>
    </information>

    <channels>
    <function channel="0" minvalue="0" maxvalue="255" name="Kopf" fade="yes" type="pan"/>
    <function channel="1" minvalue="0" maxvalue="255" name="Kopf fein" fade="yes" type="panfine"/>
    <function channel="2" minvalue="0" maxvalue="255" name="Spiegel" fade="yes" type="tilt"/>
    <function channel="3" minvalue="0" maxvalue="255" name="Spiegel fein" fade="yes" type="tiltfine"/>
    <function channel="4" minvalue="0" maxvalue="255" name="Speed Kopf" fade="no"/>
    <function channel="5" minvalue="0" maxvalue="255" name="Speed Spiegel" fade="no"/>
    <function channel="6" minvalue="0" maxvalue="255" name="Special" fade="no"/>
    <function channel="7" minvalue="0" maxvalue="255" name="Farben" fade="no" type="color"/>
    <function channel="8" minvalue="0" maxvalue="255" name="Gobo 1" fade="no" type="gobo"/>
    <function channel="9" minvalue="0" maxvalue="255" name="Shutter" fade="no" type="shutter"/>
    <function channel="10" minvalue="0" maxvalue="255" name="Gobo Rotation 1" fade="no" type="rotate"/>
    <function channel="11" minvalue="0" maxvalue="255" name="Iris" fade="no" type="iris"/>
    <function channel="12" minvalue="0" maxvalue="255" name="Fokus" fade="no"/>
    <function channel="13" minvalue="0" maxvalue="255" name="Gobo 2" fade="no" type="gobo"/>
    <function channel="14" minvalue="0" maxvalue="255" name="Gobo Rotation 2" fade="no" type="rotate"/>
    <function channel="15" minvalue="0" maxvalue="255" name="Prisma" fade="no"/>
    <function channel="16" minvalue="0" maxvalue="255" name="Dimmer" fade="yes" type="dimmer"/>
    </channels>

    <form width="400" height="350">
    <deviceimage top="0" left="0" width="33" height="33"/>
    <devicename top="0" left="40" width="129" height="17"/>
    <deviceadress top="16" left="40" width="129" height="17"/>

    <position top="40" left="8" height="177" width="177"/>

    <slider name="color_rotation" action="SetColor" left="210" top="40" heigth="25" width="190" tickfreq="9" startvalue="128" endvalue="255"/>
    <onoff name="color_half" action="SetColor" left="335" top="17" height="19" width="65" caption="Halbfarben" onvalue="-1" offvalue="-2"/>

    <dropdown name="color_drop" action="SetColor" top="17" left="210" width="115">
    <item caption="weiß/open" value="0"/>
    <item caption="grün" value="10"/>
    <item caption="rot" value="20"/>
    <item caption="UV blau" value="30"/>
    <item caption="gelb" value="40"/>
    <item caption="pink" value="50"/>
    <item caption="türkis" value="60"/>
    <item caption="orange" value="70"/>
    <item caption="blau" value="80"/>
    <item caption="magenta" value="90"/>
    <item caption="rotieren CW" value="-1"/>
    <item caption="rotieren CCW" value="-2"/>
    </dropdown>
    </form>

    <code>
    <procedure name='INITCONTROLS'>
    !call|GetColor$
    </procedure>
    <procedure name='SetColor'>
    !if|({color_drop}|gt|0) or ({color_drop}|eq|0)|
    !if|{color_half}|eq|-1|
    !set_channel|7|(5+{color_drop})$
    $
    !if|{color_half}|eq|-2|
    !set_channel|7|{color_drop}$
    $
    $

    !if|{color_drop}|lt|0|
    !if|{color_drop}|eq|-1|
    !set_channel|7|{color_rotation}$
    $
    !if|{color_drop}|eq|-2|
    !set_channel|7|{color_rotation}$
    $
    $
    $
    </procedure>
    <procedure name='GetColor'>
    !if|({channel_7}|lt|127) or ({channel_7}|eq|0)|
    !if|({channel_7} mod 10)|eq|0|
    !set_control|color_half|-2$
    !set_control|color_drop|{channel_7}$
    $
    !if|({channel_7} mod 10)|eq|5|
    !set_control|color_half|-1$
    !set_control|color_drop|({channel_7}-5)$
    $
    $

    !if|{channel_7}|gt|127|
    !if|{channel_7|lt|192}|
    !set_control|color_drop|-1$
    $
    !if|({channel_7|gt|192}) or ({channel_7|eq|192})|
    !set_control|color_drop|-2$
    $
    !set_control|color_rotation|{channel_7}$
    $
    $
    </procedure>
    </code>
    </device>

  • Hi,

    ich hab so manches geändert, u.a. auch die Operatoren, besser gesagt, die Syntax habe ich geändert. Das DDF ist ja anscheinend noch nicht ganz fertig, aber jetzt lässt es sich zumindest öffnen ohne eine Fehlermeldung. Vielleicht kommst Du jetzt damit weiter ? Ansonsten meld' Dich.

    <?xml version="1.0" encoding="ISO-8859-1"?>

    <device image="Patend.gif">
    <information>
    <name>GLP Patend Light 1200</name>
    </information>

    <channels>
    <function channel="0" minvalue="0" maxvalue="255" name="Kopf" fade="yes" type="pan"/>
    <function channel="1" minvalue="0" maxvalue="255" name="Kopf fein" fade="yes" type="panfine"/>
    <function channel="2" minvalue="0" maxvalue="255" name="Spiegel" fade="yes" type="tilt"/>
    <function channel="3" minvalue="0" maxvalue="255" name="Spiegel fein" fade="yes" type="tiltfine"/>
    <function channel="4" minvalue="0" maxvalue="255" name="Speed Kopf" fade="no"/>
    <function channel="5" minvalue="0" maxvalue="255" name="Speed Spiegel" fade="no"/>
    <function channel="6" minvalue="0" maxvalue="255" name="Special" fade="no"/>
    <function channel="7" minvalue="0" maxvalue="255" name="Farben" fade="no" type="color" action="GetColor"/>
    <function channel="8" minvalue="0" maxvalue="255" name="Gobo 1" fade="no" type="gobo"/>
    <function channel="9" minvalue="0" maxvalue="255" name="Shutter" fade="no" type="shutter"/>
    <function channel="10" minvalue="0" maxvalue="255" name="Gobo Rotation 1" fade="no" type="rotate"/>
    <function channel="11" minvalue="0" maxvalue="255" name="Iris" fade="no" type="iris"/>
    <function channel="12" minvalue="0" maxvalue="255" name="Fokus" fade="no"/>
    <function channel="13" minvalue="0" maxvalue="255" name="Gobo 2" fade="no" type="gobo"/>
    <function channel="14" minvalue="0" maxvalue="255" name="Gobo Rotation 2" fade="no" type="rotate"/>
    <function channel="15" minvalue="0" maxvalue="255" name="Prisma" fade="no"/>
    <function channel="16" minvalue="0" maxvalue="255" name="Dimmer" fade="yes" type="dimmer"/>
    </channels>

    <form width="400" height="350">
    <deviceimage top="0" left="0" width="33" height="33"/>
    <devicename top="0" left="40" width="129" height="17"/>
    <deviceadress top="16" left="40" width="129" height="17"/>

    <position top="40" left="8" height="177" width="177"/>

    <slider name="color_rotation" action="SetColor" left="210" top="40" heigth="25" width="190" tickfreq="9" startvalue="128"

    endvalue="255"/>
    <onoff name="color" action="SetColor" left="335" top="17" height="19" width="65" caption="Halbfarben" onvalue="-1"

    offvalue="-2"/>

    <dropdown name="color_drop" action="SetColor" top="17" left="210" width="115">
    <item caption="weiß/open" value="0"/>
    <item caption="grün" value="10"/>
    <item caption="rot" value="20"/>
    <item caption="UV blau" value="30"/>
    <item caption="gelb" value="40"/>
    <item caption="pink" value="50"/>
    <item caption="türkis" value="60"/>
    <item caption="orange" value="70"/>
    <item caption="blau" value="80"/>
    <item caption="magenta" value="90"/>
    <item caption="rotieren CW" value="-1"/>
    <item caption="rotieren CCW" value="-2"/>
    </dropdown>
    </form>

    <code>
    <procedure name='INITCONTROLS'>
    !call|GetColor$
    </procedure>

    <procedure name='SetColor'>
    !if|({color_drop} > 0) or ({color_drop} = 0)|
    !if|{color}|eq|-1|
    !set_channel|7|(5+{color_drop})$
    $
    !if|{color}|eq|-2|
    !set_channel|7|{color_drop}$
    $
    $

    !if|{color_drop}|lt|0|
    !if|{color_drop}|eq|-1|
    !set_channel|7|{color_rotation}$
    $
    !if|{color_drop}|eq|-2|
    !set_channel|7|{color_rotation}$
    $
    $

    </procedure>

    <procedure name='GetColor'>
    !if|({channel_7} < 127) or ({channel_7} = 0)|
    !if|({channel_7} mod 10)|eq|0|
    !set_control|color|-2$
    !set_control|color_drop|{channel_7}$
    $
    !if|({channel_7} mod 10)|eq|5|
    !set_control|color|-1$
    !set_control|color_drop|({channel_7}-5)$
    $


    !if|{channel_7}|gt|127|
    !if|{channel_7}|lt|192|
    !set_control|color_drop|-1$
    $
    !if|({channel_7} > 192) or ({channel_7} = 192)|
    !set_control|color_drop|-2$
    $
    !set_control|color_rotation|{channel_7}$
    $
    $
    </procedure>
    </code>
    </device>

  • Newly created posts will remain inaccessible for others until approved by a moderator. The last reply was more than 365 days ago, this thread is most likely obsolete. It is recommended to create a new thread instead.