Хотя мы обсуждали этот вопрос, не помню правда в каком разделе, вернусь опять к нему. Несколько вопросов: 1.Какая максимальная длина получаемой РТМом строки? 2.Как можно её увеличить? 3.Какой формат этой строки возможен, строго ли он задан? 4.Возможно ли получать эту строку в виде набора символов, а потом в программе производить разбор (интерпретацию и преобразование) этих данных?
отправлено / posted 18-04-2007 10:43
Теоретически строка может содержать 255 символов. Однако при обмене данными между внешним приложением и МРВ необходимо соблюдать соглашение о типе данных. Ваш п.4 реализуется разработкой пользовательского драйвера.
Сообщения / Posts 17399 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Grigorovskih
Forum Professor / Завсегдатай форума
Участник № / Member № 1915
отправлено / posted 18-04-2007 13:22
Конвертирует полученные символы (до служебного, завершающего строку) в тип данных, соответствующий классу канала или типу данных атрибута канала.
Сообщения / Posts 17399 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Grigorovskih
Forum Professor / Завсегдатай форума
Участник № / Member № 1915
отправлено / posted 19-04-2007 05:07
Т.е. есть возможность привязать полученную строку ч/з атрибут канала - 80 (комментарий) и потом проделать с полученной строкой необходимые преобразования?
Сообщения / Posts 362 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted 19-04-2007 12:26
Да, но с учетом максимальной длины строки комментария - 40 символов.
Сообщения / Posts 17399 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Grigorovskih
Forum Professor / Завсегдатай форума
Участник № / Member № 1915
отправлено / posted 20-04-2007 07:49
Спасибо за ответ, но для нас это только теоретически! А если практически: Ещё вопрос тогда: Как мне можно реально привязать этот атрибут 80 к источнику DDE, или передать в этот атрибут ч/з что нибудь? Каким способом это можно сделать?
Сообщения / Posts 362 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Grigorovskih
Forum Professor / Завсегдатай форума
Участник № / Member № 1915
отправлено / posted 20-04-2007 07:52
т.к. если нет привязки компонента DDE в источниках к каналу то нет и опроса по DDE соответственно!
Сообщения / Posts 362 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted 20-04-2007 11:08
Добрый день, для передачи строки по DDE из приложения в атрибут Комментарий канала МРВ должен выступать в роли сервера. В документации - Распределенные системы/Обмен по DDE и NetDDE/Задание значений атрибутов приведены макросы VBA для Excel, реализующие данный механизм.
Сообщения / Posts 17399 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Grigorovskih
Forum Professor / Завсегдатай форума
Участник № / Member № 1915
отправлено / posted 20-04-2007 11:30
Эксель нас не интересует. А МРВ работает в качестве клиента! Есть DDE server. он возвращает стрковое значение длинна произвольная! Каким образом мне получить полученное значение в виде строки , для обработки программным методом! Может пора ввести канал STRING!
[ 02.05.2007, 08:40: Сообщение отредактировал / Message edited by AdAstra Technical Support ]
Сообщения / Posts 362 | Из / From: Россия
| IP / IP: IP адрес / IP address |
ArguS
Junior Member / Новичок
Участник № / Member № 3137
отправлено / posted 29-07-2008 12:55
На Topic: TECHNICAL SUPPORT TRACE MODE 5 » Работа в MS Windows (ODBC/DDE/OPC/NET) / Working under MS Windows » Обмен по NetDDE обсуждалась тема "получать данные из Trace Mode по механизму NetDDE в Excel". Прошу выслать настройки и формат запроса, вводимый в ячейку Excel на argus-2005@rambler.ru
Сообщения / Posts 11 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted 31-07-2008 18:10
У Вас идет обмен по NуеВВУ или просто по DDE? Т.е. Excel и узел Trace Mode у Вас запущены на одном компьютере или нет?
Если на одном, то вся процедура описана в нашем быстром старте.
Если на разных, то процедура настройки описана в нашей документации в главе "Настройка ОС для обмена по NetDDE". А формат запроса описан в главе "Обмен приложение - МРВ как NetDDE-сервер"
Сообщения / Posts 17399 | Из / From: Россия
| IP / IP: IP адрес / IP address |
drooha
Forum Haunter / Завсегдатай форума
Участник № / Member № 3306
отправлено / posted 18-08-2009 15:03
Сделал проект где МРВ выступает в роли DDE-клиента, на примере "Быстрый старт". Но данные в МРВ не передаются. В чем может быть причина? (Версия Excel 2003 SP2).
Сообщения / Posts 107 | Из / From: Россия
| IP / IP: IP адрес / IP address |
drooha
Forum Haunter / Завсегдатай форума
Участник № / Member № 3306
отправлено / posted 18-08-2009 15:40
Спасибо Разобрался. Такой вопрос, Индивидуальный номер узла я так понимаю это и есть тот ID во всплывающем спеске,когда "мышкой" наводишь на узел? И тогда если МРВ выступает в роли сервера то в ячейку Excel мы должны написать =RTM_1-Название узла+196654-тот самый ID ну и тд.?
Сообщения / Posts 107 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted 07-10-2009 17:15
Индивидуальный номер узла в данном случае это ординал. Т.е. та цифра, которая пишется на конце файлов узла в папке.
Сообщения / Posts 17399 | Из / From: Россия
| IP / IP: IP адрес / IP address |
drooha
Forum Haunter / Завсегдатай форума
Участник № / Member № 3306
отправлено / posted 09-11-2009 13:32
Есть DDE server. Он возвращает строковое значение, длинна произвольная! Каким образом мне получить полученное значение в виде строки в МРВ, который выступает в качестве Клиента! Работаю в ТМ6.06, если в этом релизе нельзя это осуществить, может тогда в релизе ТМ6.06.3?
drooha
Forum Haunter / Завсегдатай форума
Участник № / Member № 3306
отправлено / posted 12-11-2009 09:52
Написал библиотеку, которая создаёт подключение к DDE серверу. При отладке программы в редакторе ТМ сервер показывает что соединение установленно, но при запуске МРВ соединения не происходит. В чём может быть причина?
отправлено / posted 12-11-2009 12:08
Библитека должна размещаться рядом с файлом rtc.exe (или rtcx.exe, если запускается МРВ). Надо посмотреть в протоколе профайлера и в файле tm6_log.txt, нет ли сообщений об ошибках, связанных с соответствующей программой.
Сообщения / Posts 17399 | Из / From: Россия
| IP / IP: IP адрес / IP address |
drooha
Forum Haunter / Завсегдатай форума
Участник № / Member № 3306
отправлено / posted 13-11-2009 08:35
Всё разместил как нужно, ошибок в в протоколе профайлера и в файле tm6_log.txt не обнаружено. Все остальные функции библиотеки работают, но вот которая создаёт подключение к DDE серверу ни как не хочет к нему подключатся, хотя эта функция выполняется и возвращает значение о том что она выполнилась.(Извиняюсь, но если Вы меня не поняли, при трассировке программы в редакторе ТМ по шагам или при запуске программы там же, все функции из библиотеки выполняются втом числе и функция подключения к DDE серверу, а при запуске МРВ из под среды разработки подключение к DDE серверу не происходит)
отправлено / posted 13-11-2009 10:32
И IDE и RTM работают с внешними библиотеками одинаково. Вопрос в том, какие требования внешняя библиотека предъявляет к среде функционирования. В частности, библиотека должна апеллировать к собственному окну, т.к. у RTM нет окна. Вообще, следует посмотреть сообщения API, обслуживающего DDE-интерфейс.
Обычно DDE-серверы имеют и ODBC-интерфейс (например, Excel). В этом случае можно было бы использовать обращение через SQL-запросы.
Сообщения / Posts 17399 | Из / From: Россия
| IP / IP: IP адрес / IP address |
drooha
Forum Haunter / Завсегдатай форума
Участник № / Member № 3306
отправлено / posted 13-11-2009 15:14
Буду очень признателен если приведёте пример такого запроса, например к Excel.
отправлено / posted 13-11-2009 15:33
Порядок установки связей с любыми приложениями, которые регистрируются в ОС в качестве ODBC-источников данных, описан в разделе "Распределенные АСУ/Обмен с базами данных".
Сообщения / Posts 17399 | Из / From: Россия
| IP / IP: IP адрес / IP address |
drooha
Forum Haunter / Завсегдатай форума
Участник № / Member № 3306
отправлено / posted 16-11-2009 15:04
И всётаки возвращаюсь к DDE (к сожелению наш сервер не имеет ODBC-интерфейса). У меня требования следующие требования к библиотеке: -Подключиться к DDE серверу; -Принять значение в виде строки; -Сделать необходимые преобразования; -Передать полученный результат в TM. Да, и что Вы имели в виду говоря, что библиотека должна апеллировать к собственному окну?
отправлено / posted 16-11-2009 15:41
Что-от похожее может возникать при вызове функций из внешних DLL, если в ТМ их переменные типа int (или возвращаемые значения) не указаны как long. При чем в самой ИС отладка может работать прекрасно, а вот в МРВ потом все начнет сыпаться. Рекомендую все внешние переменные типа int указывать как long! Но это как одно из предположений.
IP / IP: IP адрес / IP address |
drooha
Forum Haunter / Завсегдатай форума
Участник № / Member № 3306
отправлено / posted 17-11-2009 11:14
А при отладке программы в ИС все действительно работает и ваша DLL возвращает значение? Вам остается только через удаленное подключение к приложению подключиться к МРВ из среды разработки вашей DLL и посмотреть где именно происходит ошибка. Если в вашей DLL - то тут же получите точку в коде. Если в МРВ - тоже получите соответствующее сообщение.
IP / IP: IP адрес / IP address |
drooha
Forum Haunter / Завсегдатай форума
Участник № / Member № 3306
отправлено / posted 19-11-2009 10:43
Вот именно что ошибок ни каких не возникает. При отладке в ИС, всё замечательно, все функции возвращают свои значения ну и соответственно происходит подключение к DDE серверу. Такое ощущение что при работе в МРВ сам МРВ блокирует подключение к DDE серверу хотя возвращает значение, о том, что функция выполнилась
Сообщения / Posts 107 | Из / From: Россия
| IP / IP: IP адрес / IP address |
drooha
Forum Haunter / Завсегдатай форума
Участник № / Member № 3306
отправлено / posted 19-11-2009 16:57
И всётаки хотелось бы немного помучить техподдержку. У меня требования следующие требования к библиотеке: -Подключиться к DDE серверу; -Принять значение в виде строки; -Сделать необходимые преобразования; -Передать полученный результат в TM. Да, и что Вы имели в виду говоряо том, что библиотека должна апеллировать к собственному окну?
drooha
Forum Haunter / Завсегдатай форума
Участник № / Member № 3306
отправлено / posted 24-11-2009 10:47
Возникла ещё одна проблема: При посылке значения на сервер, например, числа 2 - на сервер приходит строка вида 2<<<<<<<<<<<<<<<<юою В редакторе переменной DDE, параметр РЕЖИМ стоит в REQ/POKE[data] т.е. запрос не должен завершаться специальными символами и на сервер должно отправляться число 2. В чем может быть причина?
Сообщения / Posts 107 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted 25-11-2009 19:17
1. DDE-сервер шлет свои строки в окно приложения. В ИС этим окном высупает сама ИС. В МРВ такого окна нет. Его Вам нужно создавать самим. При этом оно должно правильно работать со стеком сообщений Windows.
2. Так как запрос не завершается специальным символом, то считывается весь буфер, куда, возможно, попадают просто символы набранные с клавиатуры.
Сообщения / Posts 17399 | Из / From: Россия
| IP / IP: IP адрес / IP address |
drooha
Forum Haunter / Завсегдатай форума
Участник № / Member № 3306
отправлено / posted 26-11-2009 15:32
Хорошо, получается так что это буфер клавиатуры? А как тогда этот буфер можно очистить? Писать dll на очистку буфера перед загрузкой RTM или же очистку этого буфера можно организовать средствами ТМ?
Сообщения / Posts 107 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted 27-11-2009 18:39
Сервер должен уметь отсекать "мусор", так как в лишние символы могут возникать не только до запуска RTM, но и в момент его работы.
Сообщения / Posts 17399 | Из / From: Россия
| IP / IP: IP адрес / IP address |
raven999
Forum Member / Участник форума
Участник № / Member № 4537
отправлено / posted 23-01-2011 19:29
Здравствуйте! Можно выслать пример обмена по NetDDE между 2-мя МРВ. Попытался сделать самостоятельно, не получилось. На локальном компьютере обмен по DDE в обе стороны с Excel работает, а вот сетевой обмен не получился. И какие настройки Windows XP необходимо сделать!
Спасибо! Вот только что понял, что надо включить службу NetDDE, так как он отключена по умолчанию. Но все равно примерчик пожалуйста пришлите!
Сообщения / Posts 31 | Из / From: Россия
| IP / IP: IP адрес / IP address |