Работа с окнами в версии 4.4.1

Avatar
  • обновлен
  • Спасибо

Добрый день!

Есть основное окно (постоянно открытое на экране) и есть ряд вторичных окон, которые вызываются при необходимости. Для удобства закрытия вторичного окна в верхнем правом углу ставлю большую кнопку "Закрыть" (ну не могут некоторое пользователи попасть на маленький крестик). Сначала кнопка закрывала только то окно, на котором стояла. Затем, когда количество вторичных окон стало неприлично большим, чтобы не плодить количество скриптов сделал один большой скрипт:
{
if(CheckOpenMnemo("ааа")) CloseMnemo("ааа");
if(CheckOpenMnemo("ббб")) CloseMnemo("ббб");
...
if(CheckOpenMnemo("ююю")) CloseMnemo("ююю");
if(CheckOpenMnemo("яяя")) CloseMnemo("яяя");
}
Это стало еще и полезным приобретением, поскольку пользователи часто не закрывали вторичное окно после его использования, а просто переходили на основное окно. Это не критично, конечно, но ровно до того момента как пользователю не понадобится вновь заглянуть на вторичное окно. А вот тогда и начинается концерт: пользователь нажимает на основном окне кнопочку и пытается вызвать вторичное окно - а оно не вызывается. Резко снизилось количество претензий типа "...ничего не работает...". Но я увлекся - перехожу к вопросу.

Как только поставил версию 4.4.1.705 заметил, что кнопка "Закрыть" работает только на сервере (опросной станции). На клиенте она не работает вовсе. На предыдущей версии всё работало.

С уважением, Кондратенко Анатолий
Новочеркасск

Прикрепленные ответы
Avatar
СИМП Лайт (тех поддержка)
  • Ответ

День добрый.

В силу особенностей графического движка SIMP, локальными являются функции: CheckOpenMnemo, GetMnemoControl.


Avatar

Ок. Понял. В текущей версии скорей всего не сделать. У объектов нет доступа к свойству "видимость". Учтем этот недостаток в следующих версиях.

Avatar

Добрый день!

Еще раз: "...Подоплека вопроса: В цеху есть редко используемое оборудование. Вот сейчас оно выключено, и в центре мнемосхемы высвечивается этакое "грязное пятно", состоящее из изображения установки и трех индикаторов, затянутых той самой заштриховкой. Как можно избавиться от этой заштриховки: а) периодически записывать в эти каналы какую-либо информацию, но как к этому отнесутся физические каналы ? б) закрыть часть мнемосхемы "пологом" с надписью "выключено", который бы убирался при появлении в каналах

установки "живой" информации, но что-то не соображу, как это сделать ?..."

Вопрос состоит в том, что данные не поступают ( оборудование выключено ) и заштриховка здесь вполне объяснима. Она просто "не камильфо" смотрится на мнемосхеме. И убрать эти данные не могу - оборудование включатся раз в квартал - и тогда эта информация нужна. И хотелось бы элегантно повесить на элемент мнемосхемы табличку "выключено" .


С уважением, Кондратенко Анатолий

Новочеркасск


Avatar

День добрый.

Скорей всего ОРС сервер отдает "плохое" качество переменной. Можно попробовать подключится сторонним ОРС клиентом и понаблюдать, какое "качество" переменной возвращает сервер.

Avatar

Добрый день!

Основной поставщик данных - это OPC-сервер от OWEN

Avatar
Цитата от Кондратенко Анатолий Викторови

Добрый день!


1) Параметр канала "Контроль связи".

Цитата из справки: "... Если этот флаг выставлен, то система автоматически контролирует состояние канала. При отсутствии изменений в канале в течение 5 минут его состояние устанавливается в неактивное. На мнемосхеме это отображается заштриховкой компонента ...".


Вопрос: в канале флаг не выставлен, но заштриховка всё-равно в окне Монитора присутствует ? Как быть ? Хочется избавиться от штриховки ?


Подоплека вопроса: В цеху есть редко используемое оборудование. Вот сейчас оно выключено, и в центре мнемосхемы высвечивается этакое "грязное пятно", состоящее из изображения установки и трех индикаторов, затянутых той самой заштриховкой. Как можно избавиться от этой заштриховки: а) периодически записывать в эти каналы какую-либо информацию, но как к этому отнесутся физические каналы ? б) закрыть часть мнемосхемы "пологом" с надписью "выключено", который бы убирался при появлении в каналах установки "живой" информации, но что-то не соображу, как это сделать ?


2) Кнопки

Кнопки "Открытие мнемосхемы" и "Печать мнемосхемы" обзавелись возможностью иметь свои изображения нажатого и отжатого состояния, а кнопка "Запуск внешнего приложения" была обойдена такими подарками. Почему?


С уважением, Кондратенко Анатолий

Новочеркасск

Добрый день!


1) Параметр канала "Контроль связи".

Цитата из справки: "... Если этот флаг выставлен, то система автоматически контролирует состояние канала. При отсутствии изменений в канале в течение 5 минут его состояние устанавливается в неактивное. На мнемосхеме это отображается заштриховкой компонента ...".

Вопрос: в канале флаг не выставлен, но заштриховка всё-равно в окне Монитора присутствует ? Как быть ? Хочется избавиться от штриховки ?

Подоплека вопроса: В цеху есть редко используемое оборудование. Вот сейчас оно выключено, и в центре мнемосхемы высвечивается этакое "грязное пятно", состоящее из изображения установки и трех индикаторов, затянутых той самой заштриховкой. Как можно избавиться от этой заштриховки: а) периодически записывать в эти каналы какую-либо информацию, но как к этому отнесутся физические каналы ? б) закрыть часть мнемосхемы "пологом" с надписью "выключено", который бы убирался при появлении в каналах установки "живой" информации, но что-то не соображу, как это сделать ?


Штриховка компонента зависит не только от флага "Контроль связи", но и от "качества" переменной передаваемой в SIMP из ОРС драйвера или драйвера модбас. Какой у Вас используется драйвер?


2) Кнопки

Кнопки "Открытие мнемосхемы" и "Печать мнемосхемы" обзавелись возможностью иметь свои изображения нажатого и отжатого состояния, а кнопка "Запуск внешнего приложения" была обойдена такими подарками. Почему?


В доработке. В ближайших релизах будет.


Avatar

Добрый день!


1) Параметр канала "Контроль связи".

Цитата из справки: "... Если этот флаг выставлен, то система автоматически контролирует состояние канала. При отсутствии изменений в канале в течение 5 минут его состояние устанавливается в неактивное. На мнемосхеме это отображается заштриховкой компонента ...".


Вопрос: в канале флаг не выставлен, но заштриховка всё-равно в окне Монитора присутствует ? Как быть ? Хочется избавиться от штриховки ?


Подоплека вопроса: В цеху есть редко используемое оборудование. Вот сейчас оно выключено, и в центре мнемосхемы высвечивается этакое "грязное пятно", состоящее из изображения установки и трех индикаторов, затянутых той самой заштриховкой. Как можно избавиться от этой заштриховки: а) периодически записывать в эти каналы какую-либо информацию, но как к этому отнесутся физические каналы ? б) закрыть часть мнемосхемы "пологом" с надписью "выключено", который бы убирался при появлении в каналах установки "живой" информации, но что-то не соображу, как это сделать ?


2) Кнопки

Кнопки "Открытие мнемосхемы" и "Печать мнемосхемы" обзавелись возможностью иметь свои изображения нажатого и отжатого состояния, а кнопка "Запуск внешнего приложения" была обойдена такими подарками. Почему?


С уважением, Кондратенко Анатолий

Новочеркасск

Avatar

Добрый вечер.


Прошу прошения за задержку с ответом. Проверим у себя ещё раз, по результатам отпишусь.

Avatar

Добрый день!

Отключил все CheckOpenMnemo и закрываю окна просто с помощью CloseMnemo.

На сервере всё работает, на клиенте - нет!

Avatar

function GetMnemoControl(AName: String): TWinControl;

получение мнемосхемы по имени AName. Функция тестовая, поэтому нет упоминания в документации.

Avatar

GetMnemoControl

Что это за функция ? Такое название в документации нигде не упоминается.