Форум TRACE MODE: техническая поддержка Послать новую тему / Post New Topic  Послать ответ / Post A Reply
мой профиль / my profile авторизация / login | регистрация / register | поиск / search | часто задаваемые вопросы / faq | начало / forum home

  Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
» Форум TRACE MODE: техническая поддержка » ТЕХНИЧЕСКАЯ ПОДДЕРЖКА / TECHNICAL SUPPORT TRACE MODE 6 » TRACE MODE 6 бесплатная Базовая версия / TRACE MODE 6 free Base version » Работа с ActiveX

   
Автор / Author Тема / Topic: Работа с ActiveX
Автономов Алексей
Forum Member / Участник форума
Участник № / Member № 3141


Icon 1 отправлено / posted      Профиль для / Profile for Автономов Алексей           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Бьюсь над выводом на экран оператора списка имен рецептов, для последующего выбора и передачи на загрузку.
Есть желание сделать это с помощью MS Forms 2.0 ComboBox.
Из БД получаем запросом SELECT.
Разобрался как настроить ActiveX элемент для передачи нужной строки в элемент Текс.
А вот как запихать результат выборки из БД в ActiveX элемент не знаю.
Проблема в том, что не програмист, пока.

Сообщения / Posts 37 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Выборка из БД попадает в аргументы канала Call. Привязываете эти аргументы к аргументам экрана, а дальше уже аргументы экрана к свойствам ActiveX.
Сообщения / Posts 17316 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Автономов Алексей
Forum Member / Участник форума
Участник № / Member № 3141


Icon 1 отправлено / posted      Профиль для / Profile for Автономов Алексей           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
А если (на пример)выборка вида:

SELECT Table2.Nomer #ARG_000# (весь столбец)
FROM Table2

результат:

задать ARG_000=111
задать ARG_000=1-a1
задать ARG_000=555
задать ARG_000=qqq

как каждое значение привезать к своей кнопке на экране.

Сообщения / Posts 37 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Вам нужно воспользоваться каналом CALL.ChGroupReq.

quote:
Извлечение столбцов

Допустима следующая конфигурация:

канал CALL.SQLQuery (INPUT, Параметр=0) содержит единственный запрос с конструкцией SELECT;

к аргументу канала CALL.SQLQuery, который используется в качестве подстановки в запросе, привязан атрибут 0, R канала CALL.ChGroupReq.

При CALL.SQLQuery.In=0xFFFF все извлеченные значения столбца последовательно записываются в аргументы канала CALL.ChGroupReq.


Сообщения / Posts 17316 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Автономов Алексей
Forum Member / Участник форума
Участник № / Member № 3141


Icon 1 отправлено / posted      Профиль для / Profile for Автономов Алексей           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Есть ли ограничения на колличество аргументов в прогамме на ST.
Столкнулся с тем, что при колличестве аргументов более 400 программа не отрабатывает в профайлере, хотя в отладчике все замечательно работает.

Сообщения / Posts 37 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
quote:
Количество аргументов канала вызова программы ограничено; в случае 4-байтовых аргументов: в Windows – 1024, в DOS – 256 (т.е. под все аргументы не может быть выделено памяти больше, чем 4k в Windows и 1k в DOS – см. Определение переменных и констант ).
Много ли у Вас текстовых переменных?
Сообщения / Posts 17316 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Автономов Алексей
Forum Member / Участник форума
Участник № / Member № 3141


Icon 1 отправлено / posted      Профиль для / Profile for Автономов Алексей           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
В рабочей программе 102 аргумента типа DINT, 301- REAL, 9-INT, 1-STRING.
Кроме этого в программе присутствуют глобальные переменные типа REAL-3 и DINT-1, представляющие массивы [100].
Добовление еще одного аргумента любого типа приводит к вышеописанной проблемме.
Программа предназначена для передачи рецепта на 1000 переменных из РС в PLC по шине Профибас с использованием 6 каналов.
Сейчас вся программа состаит из 3 кусков, запускаемых последовательно.

Сообщения / Posts 37 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
итого около 800 переменных по 4 байта, 9 по 2 байта и 1 на 256 байт, т.е. Вы как раз приблизились к лимиту.
Сообщения / Posts 17316 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Автономов Алексей
Forum Member / Участник форума
Участник № / Member № 3141


Icon 1 отправлено / posted      Профиль для / Profile for Автономов Алексей           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Спасибо.
Еще вопрос. А почему в отладчике все работает при аргументов: 402-DINT и 601-REAL и глобальных переменных типа REAL-6, DINT-4, представляющие массивы [100]? Ведь получается более 2000 4 байтовых переменных.

Сообщения / Posts 37 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Отладчик здесь вообще не причем. Память у Вас выделяется при работе в реальном времени.
Сообщения / Posts 17316 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
   

Quick Reply
Сообщение / Message:

HTML код не разрешен. / HTML is not enabled.
UBB код разрешен. / UBB Code is enabled.

Значки Graemlins / Instant Graemlins
   


Послать новую тему / Post New Topic  Послать ответ / Post A Reply Закрыть тему / Close Topic   Feature Topic   Переместить топик / Move Topic   Удалить топик / Delete Topic Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
 - Printer-friendly view of this topic
Перейти к / Hop To


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2