{"id":3369,"date":"2024-03-26T11:14:42","date_gmt":"2024-03-26T10:14:42","guid":{"rendered":"https:\/\/www.isa.de\/?p=3369"},"modified":"2024-06-20T11:44:58","modified_gmt":"2024-06-20T09:44:58","slug":"cinterface","status":"publish","type":"post","link":"https:\/\/www.isa.de\/en\/cinterface\/","title":{"rendered":"C\/C++"},"content":{"rendered":"<h3>C interface<\/h3>\n<h4>Key features<\/h4>\n<ul>\n<li>Around 70 interface functions for all aspects of the connection between GUI and application.<\/li>\n<li>Efficient exchange of even large amounts of data between the application and the user interface.<\/li>\n<li>Access application functions from the user interface.<\/li>\n<li>Creating, changing and deleting UI objects from within the application.<\/li>\n<li>Transfer modules with functional prototypes and data structures can be generated with the IDM.<\/li>\n<\/ul>\n<h4>Support<\/h4>\n<p>The <a href=\"\/en\/idm\/\">ISA Dialog Manager<\/a> makes it easy for you to develop graphical user interfaces for your C applications. And when it comes to dialog processing, it offers the performance and efficiency you are used to from C applications. The ISA Dialog Manager adds hardly any overhead to applications for managing the GUI. It works quickly and uses resources sparingly.<\/p>\n<p>Use the included utilities to generate all transfer modules to connect the user interface to the application. The modules are created from the dialog descriptions. They contain prototypes of the application functions called by the dialog and structures for the dialog's data objects. The utilities are command line programs and can therefore be easily integrated into your build processes.<\/p>\n<h4>Functions<\/h4>\n<p>Around 70 powerful interface functions offer you a lot of freedom when designing the interface between the GUI and the application. You have the choice of how loosely or tightly you couple the user interface and application. You can create, change and delete GUI objects and call rules from the application. Application functions can also be called from the user interface. Application functions can be linked statically at development time or dynamically at runtime. The data types provided by the ISA Dialog Manager are platform independent. For transferring large amounts of data between the application and the GUI, functions are available that allow you to query and change multiple attributes on multiple GUI objects at the same time.<\/p>\n<h3>C++ interface<\/h3>\n<h4>Key features<\/h4>\n<figure id=\"attachment_3329\" aria-describedby=\"caption-attachment-3329\" style=\"width: 359px\" class=\"wp-caption alignright\"><a href=\"\/wp-content\/uploads\/Cplusplus_DE.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-3329\" title=\"Generate the compilable C++ file\" src=\"\/wp-content\/uploads\/Cplusplus_DE.jpg\" alt=\"Erzeugen der kompilierbaren C++-Datei\" width=\"359\" height=\"262\" srcset=\"https:\/\/www.isa.de\/wp-content\/uploads\/Cplusplus_DE.jpg 1309w, https:\/\/www.isa.de\/wp-content\/uploads\/Cplusplus_DE-300x219.jpg 300w, https:\/\/www.isa.de\/wp-content\/uploads\/Cplusplus_DE-1024x748.jpg 1024w, https:\/\/www.isa.de\/wp-content\/uploads\/Cplusplus_DE-768x561.jpg 768w, https:\/\/www.isa.de\/wp-content\/uploads\/Cplusplus_DE-16x12.jpg 16w\" sizes=\"auto, (max-width: 359px) 100vw, 359px\" \/><\/a><figcaption id=\"caption-attachment-3329\" class=\"wp-caption-text\">Generate the compilable C++ file<\/figcaption><\/figure>\n<ul>\n<li>Easily develop graphical user interfaces for object-oriented applications.<\/li>\n<li>C++ code generator creates classes for interaction between application and GUI.<\/li>\n<li>Mapping model hierarchies to class hierarchies in code generation.<\/li>\n<li>Management of class instances on the application side by the ISA Dialog Manager.<\/li>\n<li>Configurable code mixer for mixing generated and self-written code.<\/li>\n<\/ul>\n<p>The compilable C++ file is generated by a code generator and a code mixer.<\/p>\n<h4>Support<\/h4>\n<p>Since ISA Dialog Manager is completely object-oriented, you as an object-oriented application developer will have no trouble using it to develop the user interface of your applications. The ISA Dialog Manager supports you with a code generator that creates the framework for the connection between the user interface and the application. The configurable code mixer allows you to control how the generated code is inserted into your self-written code. This also provides you with understandable, maintainable code at the GUI-application interface that complies with your organization's policies.<\/p>\n<p>In the definition file you specify where the code mixer inserts the generated code into your self-written code.<\/p>\n<h4>Functions<\/h4>\n<p>The C++ interface provides you with a class hierarchy on the application side, which gives you extensive control and data exchange between the user interface and the application.<\/p>\n<figure id=\"attachment_3327\" aria-describedby=\"caption-attachment-3327\" style=\"width: 314px\" class=\"wp-caption alignright\"><a href=\"\/wp-content\/uploads\/C_CodeMischer_DE.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-3327\" title=\"How the code mixer works\" src=\"\/wp-content\/uploads\/C_CodeMischer_DE.jpg\" alt=\"Arbeitsweise des Code-Mischers\" width=\"314\" height=\"260\" srcset=\"https:\/\/www.isa.de\/wp-content\/uploads\/C_CodeMischer_DE.jpg 1167w, https:\/\/www.isa.de\/wp-content\/uploads\/C_CodeMischer_DE-300x248.jpg 300w, https:\/\/www.isa.de\/wp-content\/uploads\/C_CodeMischer_DE-1024x847.jpg 1024w, https:\/\/www.isa.de\/wp-content\/uploads\/C_CodeMischer_DE-768x635.jpg 768w, https:\/\/www.isa.de\/wp-content\/uploads\/C_CodeMischer_DE-15x12.jpg 15w\" sizes=\"auto, (max-width: 314px) 100vw, 314px\" \/><\/a><figcaption id=\"caption-attachment-3327\" class=\"wp-caption-text\">How the code mixer works<\/figcaption><\/figure>\n<p>The base class contains object-independent, static methods for querying and changing multiple attributes on multiple GUI objects simultaneously. The next hierarchy level is a class with general methods, for example for starting and ending dialogs or creating and deleting GUI objects. Through this class, the application can also call rules and methods of GUI objects and send external events to them.<\/p>\n<p>The ISA Dialog Manager creates an application class for each data object in the dialog and manages its instances at runtime.<\/p>\n<figure id=\"attachment_3341\" aria-describedby=\"caption-attachment-3341\" style=\"width: 286px\" class=\"wp-caption alignleft\"><a href=\"\/wp-content\/uploads\/Zusammenhang_DE.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-3341\" title=\"Connection between dialog object and class instance\" src=\"\/wp-content\/uploads\/Zusammenhang_DE.jpg\" alt=\"Zusammenhang zwischen Dialogobjekt und Klasseninstanz\" width=\"286\" height=\"224\" srcset=\"https:\/\/www.isa.de\/wp-content\/uploads\/Zusammenhang_DE.jpg 1748w, https:\/\/www.isa.de\/wp-content\/uploads\/Zusammenhang_DE-300x235.jpg 300w, https:\/\/www.isa.de\/wp-content\/uploads\/Zusammenhang_DE-1024x803.jpg 1024w, https:\/\/www.isa.de\/wp-content\/uploads\/Zusammenhang_DE-768x602.jpg 768w, https:\/\/www.isa.de\/wp-content\/uploads\/Zusammenhang_DE-1536x1204.jpg 1536w, https:\/\/www.isa.de\/wp-content\/uploads\/Zusammenhang_DE-15x12.jpg 15w\" sizes=\"auto, (max-width: 286px) 100vw, 286px\" \/><\/a><figcaption id=\"caption-attachment-3341\" class=\"wp-caption-text\">Connection between dialog object and class instance<\/figcaption><\/figure>\n<p>The lowest level of the class hierarchy is formed by the classes for connecting data objects of the user interface with instances of the application. An application can use them to call the functions of the data objects and query and change their data. The code generator creates a corresponding class definition for each data object. The inheritance hierarchy (model hierarchy) of the objects is taken into account and mapped to a corresponding class hierarchy. At runtime, the ISA Dialog Manager automatically manages the class instances associated with the data objects. But you can also do this yourself and create your own object relationships.<\/p>\n<h3>Availability<\/h3>\n<p>The interfaces for connecting the ISA Dialog Manager to C and C++ applications are already included in all basic licenses.<\/p>\n<h3>Training courses<\/h3>\n<p>We offer you the following training courses for the C and C++ interfaces:<\/p>\n<ul>\n<li><a href=\"\/en\/interface-training-c\/\">Interface Course C<\/a>: Programming applications and modules that work with the ISA Dialog Manager (also as a compact course).<\/li>\n<li><a href=\"\/en\/interface-training-cpp\/\">Interface Course C++<\/a>: Programming object-oriented applications and modules that work with the ISA Dialog Manager.<\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>C-Schnittstelle Hauptmerkmale Rund 70 Schnittstellenfunktionen f\u00fcr alle Aspekte der Verbindung zwischen GUI und Anwendung. Effizienter Austausch auch gro\u00dfer Datenmengen zwischen Anwendung und Benutzerschnittstelle. Zugriff auf<\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_seopress_robots_primary_cat":"none","_seopress_titles_title":"","_seopress_titles_desc":"Hauptmerkmale der C-Schnittstelle: Rund 70 Schnittstellenfunktionen f\u00fcr alle Aspekte der Verbindung zwischen GUI und Anwendung, Effizienter Austausch auch gro\u00dfer Datenmengen zwischen Anwendung und Benutzerschnittstelle, Zugriff auf Anwendungsfunktionen aus der Benutzeroberfl\u00e4che heraus, Anlegen, \u00c4ndern und L\u00f6schen von GUI-Objekten aus der Anwendung heraus, Transfermodule mit Funktionsprototypen und Datenstrukturen k\u00f6nnen mit dem IDM generiert werden.","_seopress_robots_index":"","_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","advgb_blocks_editor_width":"","advgb_blocks_columns_visual_guide":"","footnotes":""},"categories":[5],"tags":[151,63,102],"class_list":["post-3369","post","type-post","status-publish","format-standard","hentry","category-produkte","tag-c","tag-interface","tag-schnittstelle"],"author_meta":{"display_name":"Website Admin","author_link":"https:\/\/www.isa.de\/en\/author\/admin\/"},"featured_img":null,"coauthors":[],"tax_additional":{"categories":{"linked":["<a href=\"https:\/\/www.isa.de\/en\/produkte\/\" class=\"advgb-post-tax-term\">Produkte<\/a>"],"unlinked":["<span class=\"advgb-post-tax-term\">Produkte<\/span>"]},"tags":{"linked":["<a href=\"https:\/\/www.isa.de\/en\/produkte\/\" class=\"advgb-post-tax-term\">C<\/a>","<a href=\"https:\/\/www.isa.de\/en\/produkte\/\" class=\"advgb-post-tax-term\">Interface<\/a>","<a href=\"https:\/\/www.isa.de\/en\/produkte\/\" class=\"advgb-post-tax-term\">Schnittstelle<\/a>"],"unlinked":["<span class=\"advgb-post-tax-term\">C<\/span>","<span class=\"advgb-post-tax-term\">Interface<\/span>","<span class=\"advgb-post-tax-term\">Schnittstelle<\/span>"]}},"comment_count":"0","relative_dates":{"created":"Posted 2 years ago","modified":"Updated 2 years ago"},"absolute_dates":{"created":"Posted on 26. March 2024","modified":"Updated on 20. June 2024"},"absolute_dates_time":{"created":"Posted on 26. March 2024 11:14","modified":"Updated on 20. June 2024 11:44"},"featured_img_caption":"","series_order":"","_links":{"self":[{"href":"https:\/\/www.isa.de\/en\/wp-json\/wp\/v2\/posts\/3369","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.isa.de\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.isa.de\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.isa.de\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.isa.de\/en\/wp-json\/wp\/v2\/comments?post=3369"}],"version-history":[{"count":27,"href":"https:\/\/www.isa.de\/en\/wp-json\/wp\/v2\/posts\/3369\/revisions"}],"predecessor-version":[{"id":6159,"href":"https:\/\/www.isa.de\/en\/wp-json\/wp\/v2\/posts\/3369\/revisions\/6159"}],"wp:attachment":[{"href":"https:\/\/www.isa.de\/en\/wp-json\/wp\/v2\/media?parent=3369"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.isa.de\/en\/wp-json\/wp\/v2\/categories?post=3369"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.isa.de\/en\/wp-json\/wp\/v2\/tags?post=3369"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}