На главную страницу RastrWin

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


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


Тема: «не работает CreateObject("Astra.Rastr") » в форуме: Макро   Просмотров: 12132
 
Стас Тагиров
Заглянувший
 
Всего сообщений: 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 не определен"

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


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

У Вас Эксель 64 битный и он не может создать 32 битный СОМ объект.
 
Профиль
Наверх
Олег Бельцов
Посетитель
 
Всего сообщений: 34
Дата регистрации: 14.05.2012
Создано: 26.02.2018 12:42:16
 
 
Аналогичная проблема, но из Windows Host Scripting. Пример из документации не работает, что выбивает из колеи. Как с этим бороться - тоже не понятно.
Подозреваю, что аналогичная проблема будет с подключением в программы на других языках.
Надо бы задокументировать.
Задокументированный Баг, это уже не баг и Фича.
 
Профиль
Наверх
Александр Александров
Администратор
 
Всего сообщений: 628
Дата регистрации: 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 . Что можно сделать?
 
Профиль
Наверх
Евгений Машалов
Администратор

 
Всего сообщений: 1000
Дата регистрации: 23.04.2007
Создано: 30.03.2018 13:48:15
 
 
Здравствуйте. Это где-то в XL. С нашей стороны сделать ничего нельзя. Если в XL есть вычисления - можно попробовать перевести их в мануал.
 
Профиль
Наверх
Игорь Бессонов
Посетитель
 
Всего сообщений: 27
Дата регистрации: 09.10.2013
Создано: 22.11.2021 21:00:53
 
 
Здравствуйте, Александр!
Подскажите, пожалуйста, что подразумевается под словами "В 64 битном окружении мы используем
C:\WINDOWS\SysWOW64\wscri­pt.exe."
И как именно это реализовать (использовать)?
Требуется получить доступ к объекту Rastr из Excel
 
Профиль
Наверх
Александр Александров
Администратор
 
Всего сообщений: 628
Дата регистрации: 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
Пользователь добавил изображение
 
Профиль
Наверх
Евгений Машалов
Администратор

 
Всего сообщений: 1000
Дата регистрации: 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


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





Работает на «Битрикс: Управление сайтом» © «Битрикс», 2001-2006