set_check
— Ein- und Ausschalten von HALCON-Kontrollen.
set_check( : : Check : )
Mit set_check
kann man verschiedene automatische Kontrollen des
HALCON-Systems ein- bzw. ausschalten. Ist ein bestimmter Kontrollmodus
eingeschaltet, werden zur Laufzeit Überprüfungen von Parametern etc.
vorgenommen. Wird dabei eine Inkonsistenz festgestellt, so wird der
Programmlauf mit einer Fehlerbehandlung abgebrochen.
Typischerweise sollte man bei der Programmentwicklung die Kontrollen
eingeschaltet lassen und sie erst nach abgeschlossener Testphase
ausschalten. Ist der Kontrollmodus ausgeschaltet und tritt währenddessen
ein Fehler auf, kann es zu unvorhersehbarem Verhalten des Systems kommen.
Das HALCON-System verfügt über verschiedene Kontrollmöglichkeiten, die
jeweils getrennt gesetzt oder ausgeschaltet werden können. Das Einschalten
erfolgt durch den Aufruf von set_check
mit dem Namen
(Check
) der
gewünschten Kontrolle; ausgeschaltet wird sie durch Angabe ihres Namens mit
vorangestellter Tilde (~, z.B. '~data').
Mit Ausnahme des Kontrollmodus' 'memory' , welche exclusiv für das
ganze System gesetzt wird, werden alle anderen Kontrollmodi Thread spezifisch
gesetzt. Wird dem Namen dieser Modi der Prefix 'ref_' vorangestellt,
so wird nur der Referenzwert des jeweiligen Modus gesetzt, mit dem der
Thread spezifische Modus eines vom Benutzer neu gestarteter Thread
initialisiert wird.
Kontrollmodi:
Ist diese Kontrolle eingeschaltet, dürfen nur Farben verwendet werden, die das Display für das aktuelle Fenster unterstützt. Anderenfalls wird eine Fehlermeldung ausgegeben.
Ist diese Kontrolle ausgeschaltet, wird für nicht existente Farben eine
Näherungsfarbe verwendet (siehe: set_color
,
set_gray
, set_rgb
).
Ist diese Kontrolle eingeschaltet, werden die Koordinaten
beim Setzen des Textcursors sowie bei der Ausgabe von
Zeichenreihen (write_string
) dahingehend überprüft,
ob ein Teil eines Zeichens außerhalb des Fensters zu liegen kommt (was vom
System nicht grundsätzlich verboten wird).
Ist der Modus ausgeschaltet, dann wird der Text an den Fensterrändern geclippt.
(Für Programmentwicklung) Überprüfung der Konsistenz von Bildobjekten (Regionen und Grauwertkomponenten).
Ist diese Kontrolle eingeschaltet, wird die Schnittstelle zwischen Wirtssprache und den HALCON-Prozeduren zur Laufzeit überwacht (z.B. Typisierung und Anzahl der Werte).
Konsistenzprüfungen von Objekten (z.B. existiert ein Objekt, das gelöscht werden soll, überhaupt? )
Legt fest, ob Fehler „Exceptions“ auslösen oder nicht. Ist diese Kontrolle ausgeschaltet, muss sich das Anwenderprogramm selbst um eine geeignete Fehlerbehandlung kümmern. Es sei insbesondere darauf hingewiesen, dass nicht gemeldete Fehler meist zu nicht besetzten Ausgabeparametern führen, die ein unvorhersehbares Verhalten des Programms verursachen können. Einzelheiten über die Fehlerbehandlung in den jeweiligen HALCON-Sprachschnittstellen können im HALCON Programmer's Guide bzw. im HDevelop User's Guide nachgelesen werden.
Ist diese Kontrolle eingeschaltet, erlaubt HALCON als
Vaterfenster eines neuen Fensters bei open_window
nur die Nummer eines anderen
HALCON-Fensters, andernfalls auch die IDs von
Betriebssystem-Fenstern. Diese Kontrolle ist nur für die
Fenstertypen 'WIN32-Window', 'X-Window' und 'Cocoa' relevant.
(für Programmentwicklung) Überprüfung der Konsistenz von Sehnendaten (bedeutet mitunter starke Verlangsamung der Routinen).
Soll ein Tupel von Objekten mittels clear_obj
gelöscht werden,
wird normalerweise eine Exception ausgelöst, wenn einzelne
Objekte gar nicht (mehr) existieren. Ist 'clear' eingeschaltet,
werden solche Objekte ignoriert.
(für Programmentwicklung) überprüft die von HALCON freigegebenen Speicher auf Konsistenz und Überschreiben der Speicherbereiche.
Schaltet alle Kontrollmodi ein.
Schaltet alle Kontrollmodi aus.
Voreinstellung: ['give_error','database']
Check
(input_control) string(-array) →
(string)
Gewünschter Kontrollmodus.
Defaultwert: 'default'
Werteliste: 'all' , 'clear' , 'color' , 'data' , 'database' , 'default' , 'father' , 'give_error' , 'interface' , 'memory' , 'none' , 'region' , 'text'
set_check
liefert den Wert 2 (H_MSG_TRUE), falls die Parameter korrekt sind.
Ansonsten wird eine Fehlerbehandlung durchgeführt.
get_check
,
set_color
,
set_rgb
,
set_hsi
,
write_string
none