set_checkset_checkSetCheckSetCheck (Operator)

Name

set_checkset_checkSetCheckSetCheck — Ein- und Ausschalten von HALCON-Kontrollen.

Signatur

set_check( : : Check : )

Herror set_check(const char* Check)

Herror T_set_check(const Htuple Check)

void SetCheck(const HTuple& Check)

static void HSystem::SetCheck(const HTuple& Check)

static void HSystem::SetCheck(const HString& Check)

static void HSystem::SetCheck(const char* Check)

static void HSystem::SetCheck(const wchar_t* Check)   (Nur Windows)

static void HOperatorSet.SetCheck(HTuple check)

static void HSystem.SetCheck(HTuple check)

static void HSystem.SetCheck(string check)

Beschreibung

Mit set_checkset_checkSetCheckSetCheckSetCheck 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_checkset_checkSetCheckSetCheckSetCheck mit dem Namen (CheckCheckCheckCheckcheck) der gewünschten Kontrolle; ausgeschaltet wird sie durch Angabe ihres Namens mit vorangestellter Tilde (~, z.B. '~data'). Mit Ausnahme des Kontrollmodus' 'memory'"memory""memory""memory""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_'"ref_""ref_""ref_""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:

'color':

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_colorset_colorSetColorSetColorSetColor, set_grayset_graySetGraySetGraySetGray, set_rgbset_rgbSetRgbSetRgbSetRgb).

'text':

Ist diese Kontrolle eingeschaltet, werden die Koordinaten beim Setzen des Textcursors sowie bei der Ausgabe von Zeichenreihen (write_stringwrite_stringWriteStringWriteStringWriteString) 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.

'data':

(Für Programmentwicklung) Überprüfung der Konsistenz von Bildobjekten (Regionen und Grauwertkomponenten).

'interface':

Ist diese Kontrolle eingeschaltet, wird die Schnittstelle zwischen Wirtssprache und den HALCON-Prozeduren zur Laufzeit überwacht (z.B. Typisierung und Anzahl der Werte).

'database':

Konsistenzprüfungen von Objekten (z.B. existiert ein Objekt, das gelöscht werden soll, überhaupt? )

'give_error':

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.

'father':

Ist diese Kontrolle eingeschaltet, erlaubt HALCON als Vaterfenster eines neuen Fensters bei open_windowopen_windowOpenWindowOpenWindowOpenWindow 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.

'region':

(für Programmentwicklung) Überprüfung der Konsistenz von Sehnendaten (bedeutet mitunter starke Verlangsamung der Routinen).

'clear':

Soll ein Tupel von Objekten mittels clear_objclear_objClearObjClearObjClearObj gelöscht werden, wird normalerweise eine Exception ausgelöst, wenn einzelne Objekte gar nicht (mehr) existieren. Ist 'clear' eingeschaltet, werden solche Objekte ignoriert.

'memory':

(für Programmentwicklung) überprüft die von HALCON freigegebenen Speicher auf Konsistenz und Überschreiben der Speicherbereiche.

'all':

Schaltet alle Kontrollmodi ein.

'none':

Schaltet alle Kontrollmodi aus.

'default':

Voreinstellung: ['give_error','database']

Ausführungsinformationen

Parameter

CheckCheckCheckCheckcheck (input_control)  string(-array) HTupleHTupleHtuple (string) (string) (HString) (char*)

Gewünschter Kontrollmodus.

Defaultwert: 'default' "default" "default" "default" "default"

Werteliste: 'all'"all""all""all""all", 'clear'"clear""clear""clear""clear", 'color'"color""color""color""color", 'data'"data""data""data""data", 'database'"database""database""database""database", 'default'"default""default""default""default", 'father'"father""father""father""father", 'give_error'"give_error""give_error""give_error""give_error", 'interface'"interface""interface""interface""interface", 'memory'"memory""memory""memory""memory", 'none'"none""none""none""none", 'region'"region""region""region""region", 'text'"text""text""text""text"

Ergebnis

set_checkset_checkSetCheckSetCheckSetCheck liefert den Wert 2 (H_MSG_TRUE), falls die Parameter korrekt sind. Ansonsten wird eine Fehlerbehandlung durchgeführt.

Siehe auch

get_checkget_checkGetCheckGetCheckGetCheck, set_colorset_colorSetColorSetColorSetColor, set_rgbset_rgbSetRgbSetRgbSetRgb, set_hsiset_hsiSetHsiSetHsiSetHsi, write_stringwrite_stringWriteStringWriteStringWriteString

Modul

none