Курс Си для WinCC 09.99
4-88
Руководство по конфигурации WinCC
C79000-G8276-C157-01
• В следующей части название проекта определяется при помощи функции API
DMGetRuntimeProject(). Название проекта будет храниться в переменной
szProjectName. Если при определении названия проекта произойдет ошибка,
сообщение об этом будет выведено на печать. В этом слу чае процедура Си
завершается посредством ко манды return.
• В следующей части API графического дизайнера инициализируется при помощи
функции PDLCSGetOleAppPtr(). Если при инициализации API графического
дизайнера произойдет ошибка, сообщение об этом будет выведено на печать. В
этом случае процедура Си также завершается посредством команды return.
• В следующей части подлежащая редактированию экранная форма открывается
посредством функции API PDLCSOpenEx(). Предпоследним параметром в
функцию API передается переменная dwFlags, имеющая значение 1. При этом
экранная форма не отображается на экране. Если при открытии экранной формы
произойдет ошибка, сообщение об этом будет выведено на печать. При помощи
команды goto выполняется переход к фрагменту кода, где разрывается связь с API
графического дизайнера.
• В следующей части с помощью функции API PDLCSNewObjectEx() создается
объект I/OField2. Если при создании объекта произойдет ошибка, сообщение об
этом будет выведен о на печать. При помо щи команды goto выполняется переход к
фрагменту кода, где ранее открытая экранная форма закрывается.
• В следующей части экранная форма записывается посредством функции API
PDLCSSave(). Если при записи экранной формы произойдет ошибка, сообщение
об этом будет выведено на печать. Как и в предыдущей части, при помощи
команды goto выполняется переход к фрагменту кода, где ранее открытая
экранная форма закрывается.
• Затем редактируемая экранная форма выбирается функцией проекта
ActualizeObjects().
• Далее ранее открытая экранная форма закрывается с помощью функции API
PDLCSClose(). Перед этой командой установлена метка для описанных ранее
команд goto.
• После этого связь с API графического редактора вновь разрывается посредством
функции API PDLCSDelOleAppPtr().Перед этой командой установлена метка для
описанных ранее команд goto.
Замечание:
Процедуры Си, создаваемые в последующих примерах очень похожи на процедуру
Си, представленную здесь. В связи с этим мы будем опускать подробные описания,
приведенные в данном примере. Описания исходного кода будут ограничены
обзором хода выполнения программы.