Бекжан Мукатов
Посетитель
Всего сообщений: 17
Дата регистрации: 06.01.2010
|
Создано:
23.04.2010 14:03:44
|
Здравствуйте! Я импортирую ТИ в Растр, но не могу отправить эти ТИ в нужные таблицы. Помогите, как например программно в тексте макро отправить значение генерации в таблицу узлы, столбец pg для i узла
|
|
|
Александр Александров
Администратор
Всего сообщений: 657
Дата регистрации: 31.05.2008
|
Создано:
23.04.2010 16:26:31
|
можно попробовать так:
Код |
---|
CONST NodeNum = 14
CONST NodePg = 13.3
SET Table_node = Rastr.Tables("node")
SET node_Col_pg = Table_node.Cols("pg")
Table_node.SetSel("ny="+CSTR(NodeNum))
IF( Table_node.count = 1 ) THEN ' нашли узел с нумером NodeNum
CurrentRow_node = Table_node.FindNextSEl(-1)
node_Col_pg.Z( CurrentRow_node ) = NodePg
END IF |
но лучше почитать RastrWin.chm-> Программные интерфейсы и посмотреть примеры из макростудии данного сайта
|
|
|
Бекжан Мукатов
Посетитель
Всего сообщений: 17
Дата регистрации: 06.01.2010
|
Создано:
27.04.2010 16:57:16
|
Спасибо Александр!
|
|
|
Михаил Реутов
Постоянный посетитель
Всего сообщений: 224
Дата регистрации: 21.11.2007
|
Создано:
14.05.2010 10:18:42
|
Здравствуйте.
Бекжан Мукатов, если не затруднительно, то выложите пожалуйста на форум (или ЛС) пример "связи Растра с ОИК", т.е. пример реализации чтения из ОИК телеизмерения.
На сколько знаю классы объектов, реализующие связь, находятся в OICDAC.dll.
|
|
|
Бекжан Мукатов
Посетитель
Всего сообщений: 17
Дата регистрации: 06.01.2010
|
Создано:
14.05.2010 14:27:08
|
Я применил СOM, подключил функцию программы которая перемещается по архиву ОИК и далее в тексте макро просто использовал ее
|
|
|
Бекжан Мукатов
Посетитель
Всего сообщений: 17
Дата регистрации: 06.01.2010
|
Создано:
14.05.2010 14:33:48
|
Столкнулся с проблемой. При запуске макро Растр по истечении определенного времени вылетает. Может есть какие-то ограничения по размеру макро?
Макрос, импортирующий значения генерации по ЕЭС (код занимает 13 листов), выполняется без проблем.
А макрос корректирующий дефициты, нагрузки (18 листов), стабильно вылетает. Разбил на два макроса с целью уменьшить объем, но результат тот же.
Подскажите пожалуйста что можно предпринять?
|
|
|
Евгений Машалов
Администратор
Всего сообщений: 1042
Дата регистрации: 23.04.2007
|
Создано:
14.05.2010 15:52:34
|
Ограничений по размеру макроса нет (ну в смысле пока память доступная есть, ограничений искусственных нет). Есть и более крупные макросы, которые работают. Предпринять можно только локализацию в макросе места вылета и совместную с нами разборку ситуации.
|
|
|
Михаил Реутов
Постоянный посетитель
Всего сообщений: 224
Дата регистрации: 21.11.2007
|
Создано:
14.05.2010 21:17:32
|
Цитата |
---|
Бекжан Мукатов пишет:
Я применил СOM, подключил функцию программы которая перемещается по архиву ОИК и далее в тексте макро просто использовал ее |
Как называется этот СОМ ? Где найти эту функцию, чтобы посмотреть на нее и можно было использовать ?
Цитата |
---|
Бекжан Мукатов пишет:
Подскажите пожалуйста что можно предпринять? |
Конкретно, помочь не могу, так как ошибка "вылетания" может быть в самом коде, а код Ваш я не вижу.
|
|
|
Бекжан Мукатов
Посетитель
Всего сообщений: 17
Дата регистрации: 06.01.2010
|
Создано:
17.05.2010 14:02:19
|
Сомневаюсь в том что ошибка в самом коде, так как при пошаговой реализации макроса проблем никаких нет. "Вылет" происходит в разных местах, иногда выполняется безошибочно.
Вот код объявления сторонней функции (A.Auto это программа используемая конкретно в нашей организации, никакие другие функции Растра задействованы не были ):
Set ObjectArch = CreateObject("A.Auto")
ObjectA.Set1
ObjectA.Set2
Function znti(time, ti)
znti = ObjectAr.Getti(time, ti)
End Function
Далее я написал функции для передачи значений в Растр, исходными данными к которым являются значения ТИ и номер узла (аналогично макросам для коррекции потребления районов)
|
|
|
Евгений Машалов
Администратор
Всего сообщений: 1042
Дата регистрации: 23.04.2007
|
Создано:
17.05.2010 16:13:09
|
Если в разных местах, попробуйте закрыть все окна и графику до выполнения скрипта. Бывает, что валятся контролы, когда в таблицах творится что-то необычное.
|
|
|
Бекжан Мукатов
Посетитель
Всего сообщений: 17
Дата регистрации: 06.01.2010
|
Создано:
18.05.2010 13:35:12
|
Евгений Машалов, спасибо! При закрытии всех окон перед запуском макро, процесс проходит стабильно и многократно быстрее
|
|
|
Евгений Машалов
Администратор
Всего сообщений: 1042
Дата регистрации: 23.04.2007
|
Создано:
18.05.2010 16:03:06
|
А чтобы обновление не закрытых, по какой-то причине окон, принудительно отключить - можете еще воспользоватся свойством Rastr.LockEvent. Не забудьте восстановить отображение после завершения скрипта.
|
|
|
Михаил Реутов
Постоянный посетитель
Всего сообщений: 224
Дата регистрации: 21.11.2007
|
Создано:
18.05.2010 16:19:39
|
Бекжан Мукатов, какой у Вас ОИК ? Как называется ? Чистое любопытство: какой ОИК использует СОМ с программным идентификатором объекта "A.Auto" ?
|
|
|
Бекжан Мукатов
Посетитель
Всего сообщений: 17
Дата регистрации: 06.01.2010
|
Создано:
19.05.2010 15:01:27
|
Я не знаю как описать наш ОИК. "A.Auto" это идентификатор посторонней программы, которая импортирует ТИ из архива ОИК. Я неправильно сформулировал тему, имеется ввиду связь не самим ОИКом, а его архивом через COM
|
|
|
Андрей Смирнов
Заглянувший
Всего сообщений: 4
Дата регистрации: 02.10.2009
|
Создано:
30.06.2010 17:33:33
|
Михаил, пытался отправить ЛС, но они отключены.
Я беру из ОИК перетоки по ветвям и вывожу в файл сравнение с расчетом растра. Visual Basic. Если это интересно, то пишите в ЛС - может быть, с Вашей стороны они не отключены.
|
|
|