На главную страницу
Русский English
 


Поддержка
Форум
Техподдержка
Закрытый разделПерсональная

Авторизация

Запомнить меня на этом компьютере
  Забыли свой пароль?
  Регистрация



Поиск по сайту


Подписка

Изменение параметров

Hits 67418326
9676
Hosts 3608921
1958
Visitors 53570871
9341

125


Главная / Поддержка / Форумы / Макро

Форум «Макро»

Версия для печати Версия для печати

Список форумов
Новые темы
Список тем
Поиск по форумам
Помощь
Войти
Регистрация


Тема: «не работает CreateObject("Astra.Rastr") » в форуме: Макро   Просмотров: 13146
 
Стас Тагиров
Заглянувший
 
Всего сообщений: 1
Дата регистрации: 25.05.2017
Создано: 25.05.2017 12:47:09
 
 
Здравствуйте!
В Excel использую макрос который обращается к обьекту Rastr.
Переустановили ОС, поставили Windows 10, Office 2016.
В результате макрос не работает:

Set Rastr = CreateObject("Astra.Rastr­")
If Rastr Is Nothing Then MsgBox "Rastr не определен"

Пробовал под администратором запускать - тоже не работает.
Подскажите в чем может быть причина?


 
Профиль
Наверх
Александр Александров
Администратор
 
Всего сообщений: 659
Дата регистрации: 31.05.2008
Создано: 25.05.2017 12:56:29
 
 
здравствуйте, Стас Тагиров!

У Вас Эксель 64 битный и он не может создать 32 битный СОМ объект.
 
Профиль
Наверх
Олег Бельцов
Посетитель
 
Всего сообщений: 34
Дата регистрации: 14.05.2012
Создано: 26.02.2018 12:42:16
 
 
Аналогичная проблема, но из Windows Host Scripting. Пример из документации не работает, что выбивает из колеи. Как с этим бороться - тоже не понятно.
Подозреваю, что аналогичная проблема будет с подключением в программы на других языках.
Надо бы задокументировать.
Задокументированный Баг, это уже не баг и Фича.
 
Профиль
Наверх
Александр Александров
Администратор
 
Всего сообщений: 659
Дата регистрации: 31.05.2008
Создано: 26.02.2018 13:03:03
 
 
Здравствуйте, Олег Бельцов!

У Вас та же проблема, по умолчанию в 64 битной системе WSH запускает 64 интерпретатор скриптов, который соответственно не может создать 32 битный объект.
В 64 битном окружении мы используем
C:\WINDOWS\SysWOW64\wscri­pt.exe.
 
Профиль
Наверх
Олег Бельцов
Посетитель
 
Всего сообщений: 34
Дата регистрации: 14.05.2012
Создано: 26.02.2018 13:14:10
 
 
Спасибо.
Примерно так я и понял.
Считаю целесообразным посвятить пару абзацев документации этой проблеме, дабы в будущем меньше возникало вопросов.
Где-нибудь в этом месте:
"13.1. Объект Rastr
Это основной объект в astra.dll. При работе во встроенных макросах он уже со-
здан, при работе во внешней среде ? должен создаваться обычным образом, например,
в VBScript:
Set Rastr=WScript.CreateObjec­t("Astra.Rastr")
Следует помнить, что при работе с макросами, использующими astra.dll через
позднее связывание (скриптовые языки), все символические константы должны заме-
няться соответствующим числовым значением."
 
Профиль
Наверх
Иван Ведерников
Посетитель
 
Всего сообщений: 17
Дата регистрации: 16.01.2018
Создано: 30.03.2018 10:37:28
 
 
Здравствуйте
у меня в макросе при обновлении ДРВ в строке
CreateObject("Rtdserver.A­straServer.1").ServeRTD Rastr, "$1"
после нескольких десятков циклов возникает ошибка 2147417851 . Что можно сделать?
 
Профиль
Наверх
Евгений Машалов
Администратор

 
Всего сообщений: 1059
Дата регистрации: 23.04.2007
Создано: 30.03.2018 13:48:15
 
 
Здравствуйте. Это где-то в XL. С нашей стороны сделать ничего нельзя. Если в XL есть вычисления - можно попробовать перевести их в мануал.
 
Профиль
Наверх
Игорь Бессонов
Посетитель
 
Всего сообщений: 35
Дата регистрации: 09.10.2013
Создано: 22.11.2021 21:00:53
 
 
Здравствуйте, Александр!
Подскажите, пожалуйста, что подразумевается под словами "В 64 битном окружении мы используем
C:\WINDOWS\SysWOW64\wscri­pt.exe."
И как именно это реализовать (использовать)?
Требуется получить доступ к объекту Rastr из Excel
 
Профиль
Наверх
Александр Александров
Администратор
 
Всего сообщений: 659
Дата регистрации: 31.05.2008
Создано: 23.11.2021 07:03:01
 
 
Здравствуйте, Игорь Бессонов!

"Требуется получить доступ к объекту Rastr из Excel"
- Ставите 32 битный Эксель, ставите Растр 32 битный,
создаете ком-объект Растр и работаете.

- Ставите 64 битный Эксель, ставите Растр 64 битный,
создаете ком-объект Растр и работаете.
 
Профиль
Наверх
Сергей Яшунин
Заглянувший
 
Всего сообщений: 2
Дата регистрации: 03.12.2021
Создано: 03.12.2021 18:00:13
 
 
Добрый день. После перехода на RastrWin3/Bars (64x) перестал работать макрос в книге excel (тоже x64) который подключался к мегаточке и читал из нее данные. Падает сразу же на создании главного объекта Rastr
Подключаем astra.dll из папки где установлен RastrWin3:
Пользователь добавил изображение

И сразу же при создании объекта Rastr ошибка:
Пользователь добавил изображение

Подскажите пожалуйста как это можно вылечить? Заранее благодарю.

Версия Bars
Пользователь добавил изображение

Версия Excel
Пользователь добавил изображение
 
Профиль
Наверх
Евгений Машалов
Администратор

 
Всего сообщений: 1059
Дата регистрации: 23.04.2007
Создано: 03.12.2021 18:30:19
 
 
Вообще вопросы про мегаточки из СО надо бы формулировать в СД.

Пока проверьте действительно ли RastrWin 64-битный. У версий x64 вроде бы у нас третья цифра версии - "1". И билд какой-то староватый. Если, как это обычно любят делать, в системе стоит несколько Растров с разной разрядностью, проверьте, что зарегистрирован COM-сервер от 64-битного.

Еще у Вас какой-то странный микс ссылки и создания объекта. Вы задаете ссылку, но создаете объект по ProgID. Обычно делают один из следующих вариантов.

Пользователь добавил изображение

Ссылка хороша тем что дает Autocomplete и на нее можно ловить события от COM-объекта.
 
Профиль
Наверх
Сергей Яшунин
Заглянувший
 
Всего сообщений: 2
Дата регистрации: 03.12.2021
Создано: 04.12.2021 12:45:15
 
 
Благодарю за помощь. Действительно возникла путаница с несколькими версиями Барса. После чистки все заработало.
 
Профиль
Наверх



Читают тему
гостей: 1, пользователей: 0, из них скрытых: 0


Список форумов
Новые темы
Список тем
Поиск по форумам
Помощь
Войти
Регистрация







Программный комплекс «RasrWin»
Программный комплекс «RastrWin»
© «RastrWin», 1988-2019