9.1 и глюк OLE ?
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
9.1 и глюк OLE ?
Есть приложение собранное на 9.0 - все работает
Перекомпиллирую на 9.1.10789 - и.... виснет вывод в Excel - появляется пустое окно Excel и висит пока не снимешь принудительно.
Возвращаюсь на 9.0 - опять все Ок.
Прошу проверить у кого есть возможность
Перекомпиллирую на 9.1.10789 - и.... виснет вывод в Excel - появляется пустое окно Excel и висит пока не снимешь принудительно.
Возвращаюсь на 9.0 - опять все Ок.
Прошу проверить у кого есть возможность
- Игорь Столяров
- Ветеран движения
- Сообщения: 8031
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 96 раз
Re: 9.1 и глюк OLE ?
Привет !
Да, действительно. Какая-то проблема есть.
Проверили - в приложении собранном на C9.1 экспорт в MS Excel через OLE не выполняется.
Не проходит инициализация и запуск объекта (EO_{'Application.Name'} = 'No ole automation interface')
Надо разбираться. Интересно, что практически точно такой обмен с MS Word прекрасно работает.
Проверял на коде:
EO_ = Create(0,Create:Ole)
EO_{Prop:Create} = 'Excel.Sheet'
If EO_{'Application.Name'} = 'No ole automation interface'
Message(' Неудачная попытка запуска Microsoft Excel !','Сообщение',Icon:Exclamation,'&1. Закрыть')
Display
end
Да, действительно. Какая-то проблема есть.
Проверили - в приложении собранном на C9.1 экспорт в MS Excel через OLE не выполняется.
Не проходит инициализация и запуск объекта (EO_{'Application.Name'} = 'No ole automation interface')
Надо разбираться. Интересно, что практически точно такой обмен с MS Word прекрасно работает.
Проверял на коде:
EO_ = Create(0,Create:Ole)
EO_{Prop:Create} = 'Excel.Sheet'
If EO_{'Application.Name'} = 'No ole automation interface'
Message(' Неудачная попытка запуска Microsoft Excel !','Сообщение',Icon:Exclamation,'&1. Закрыть')
Display
end
Make Clarion Great Again ! 
-
- ✯ Ветеран ✯
- Сообщения: 5161
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 11 раз
- Поблагодарили: 26 раз
Re: 9.1 и глюк OLE ?
А попробуйте так:
, например. Может поддержка Sheet закончилась.
А ещё можно так попробовать:
Проверьте, если не сложно.
Код: Выделить всё
LOC:OLE = create(0, CREATE:ole)
LOC:OLE{prop:Create} = 'EXCEL.Sheet.12'
А ещё можно так попробовать:
Код: Выделить всё
LOC:OLE = create(0, CREATE:ole)
LOC:OLE{prop:Create} = 'EXCEL.Application'
We are hard at work… for you. 

- Игорь Столяров
- Ветеран движения
- Сообщения: 8031
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 96 раз
Re: 9.1 и глюк OLE ?
Проверил. С91 10789
Замена 'Excel.Sheet' на 'Excel.Application' полностью снимает эту проблему.
Спасибо !
Замена 'Excel.Sheet' на 'Excel.Application' полностью снимает эту проблему.
Спасибо !

Make Clarion Great Again ! 
-
- ✯ Ветеран ✯
- Сообщения: 5161
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 11 раз
- Поблагодарили: 26 раз
Re: 9.1 и глюк OLE ?
Ну ни чудо ли?Игорь Столяров писал(а):Проверил. С91 10789
Замена 'Excel.Sheet' на 'Excel.Application' полностью снимает эту проблему.
Спасибо !

Ещё бы понять, в чём отличие, да? Мы как-то изначально пользуем конструкцию 'Excel.Application', не знаю почему, исторически сложилось.
We are hard at work… for you. 

- Игорь Столяров
- Ветеран движения
- Сообщения: 8031
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 96 раз
Re: 9.1 и глюк OLE ?
А вот интересно 'Excel.Application' запускает Excel из MS Office 365 ?
Помню, что с этим тоже были проблемы ...
Помню, что с этим тоже были проблемы ...
Make Clarion Great Again ! 
Re: 9.1 и глюк OLE ?
хммм....
А у меня и так было l:ole{Prop:Create} = 'EXCEL.Application'
Сначала я решил, что дело в том, что OLE контроль у меня не программно создавался, а визуально. Переделал на программное - тот же результат - висит пустое окно.
Пробую L:OLE{prop:Create} = 'EXCEL.Sheet.14' (у меня Excel 2010)- не работает и в 9.0 - вообще окно не появляется.
Как то можно отлавливать результаты отработки OLE{prop:Create} ?
В визуальном компоненте включал совместимости какие то 32-bit и Mode в разных сочетаниях - не помогает. Кстати, что это за совместимости ?
А у меня и так было l:ole{Prop:Create} = 'EXCEL.Application'
Сначала я решил, что дело в том, что OLE контроль у меня не программно создавался, а визуально. Переделал на программное - тот же результат - висит пустое окно.
Пробую L:OLE{prop:Create} = 'EXCEL.Sheet.14' (у меня Excel 2010)- не работает и в 9.0 - вообще окно не появляется.
Как то можно отлавливать результаты отработки OLE{prop:Create} ?
В визуальном компоненте включал совместимости какие то 32-bit и Mode в разных сочетаниях - не помогает. Кстати, что это за совместимости ?
- Игорь Столяров
- Ветеран движения
- Сообщения: 8031
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 96 раз
Re: 9.1 и глюк OLE ?
Я же показал это в своем примере ниже:Игорь Столяров писал(а):Как то можно отлавливать результаты отработки OLE{prop:Create} ?
EO_{Prop:Create} = ''EXCEL.Application'
Message(EO_{'Application.Name'})
При ошибке возвращает: EO_{'Application.Name'} = 'No ole automation interface'
Make Clarion Great Again ! 
-
- ✯ Ветеран ✯
- Сообщения: 5161
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 11 раз
- Поблагодарили: 26 раз
Re: 9.1 и глюк OLE ?
Сто пудов - ошибки создания нет. Надо смотреть что дальше происходит.
We are hard at work… for you. 

Re: 9.1 и глюк OLE ?
Да, действительно - ошибки создания нет.
Дальше идет собственно открытие
l:ole{'workbooks.open("' & l:FileName & '")'}
или l:ole{'Workbooks('& l:FileName & ').Activateopen'}
Не работает тут ? Как проверить ?
Дальше идет собственно открытие
l:ole{'workbooks.open("' & l:FileName & '")'}
или l:ole{'Workbooks('& l:FileName & ').Activateopen'}
Не работает тут ? Как проверить ?
Re: 9.1 и глюк OLE ?
ааа.... вот нашел как включить диагностику
l:OLE{Prop:ReportException}=TRUE
в результате имеем "Метод Open из класса Workbooks завершен неверно"
проку впрочем мало от сего
l:OLE{Prop:ReportException}=TRUE
в результате имеем "Метод Open из класса Workbooks завершен неверно"
проку впрочем мало от сего
- Игорь Столяров
- Ветеран движения
- Сообщения: 8031
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 96 раз
Re: 9.1 и глюк OLE ?
Замени открытие на l:ole{'Application.Workbooks.Open("' & Clip(Left(l:FileName)) & '")'}
Make Clarion Great Again ! 
Re: 9.1 и глюк OLE ?
l:ole{'Application.Workbooks.Open("' & Clip(Left(l:FileName)) & '")'} - не помогает
Вообще кто то пробовал - работает 9.1 с Excel ? Открываются файлы ?
Вообще кто то пробовал - работает 9.1 с Excel ? Открываются файлы ?
-
- ✯ Ветеран ✯
- Сообщения: 5161
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 11 раз
- Поблагодарили: 26 раз
Re: 9.1 и глюк OLE ?
Железно работающий кусок:
Проверь, существует ли l:FileName.LOC:OLE = create(0, CREATE:ole)
LOC:OLE{prop:Create} = 'EXCEL.Application'
LOC:OLE{'Workbooks.Open("' & clip(GLO:TempPath) & 'rap008.xml")'}
LOC:OLE{'ActiveWorkbook.SaveAs("' & clip(LOC:FileName) & '",51)'}
LOC:OLE{'Workbooks.Close'}
LOC:OLE{prop:Deactivate}
destroy(LOC:OLE)
We are hard at work… for you. 

- Игорь Столяров
- Ветеран движения
- Сообщения: 8031
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 96 раз
Re: 9.1 и глюк OLE ?
Я пробовал. После замены 'Excel.Sheet' на 'Excel.Application' все операции: создание, открытие, запись, чтение, печать, форматирование и т.д. - работают.Андрей писал(а):Вообще кто то пробовал - работает 9.1 с Excel ? Открываются файлы ?
Я правда все операции делаю в коде, без, как ты их называешь "визуальных" компонент Clarion. Сборка на С91 10789.
Единственный пока открытый вопрос - будет ли это работать с Excel из MS Office 365 ...
Make Clarion Great Again ! 