C6.3 как убить Excel в процессах

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
talgat55
Ветеран
Сообщения: 316
Зарегистрирован: 11 Сентябрь 2008, 12:53
Благодарил (а): 3 раза

C6.3 как убить Excel в процессах

Сообщение talgat55 »

с6.3 ABС MS SQL Для вывода отчетов пользую класс abxl не помню кто делал.
выгружаю в Excel закрываю его а в процессах так и остается - сколько отчетов столько excel висит
( .kill пользую- не помогает )
???
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

C6.3 как убить Excel в процессах

Сообщение Yufil »

Сейчас для любого окна с OLE строго обязательно перед закрытием юзаю

Код: Выделить всё

OCXUngregisterEventProc(?OLE) ! Если OCX
?OLE{Prop:Deactivate}
Destroy(?OLE) 
Но Ёксель давно не пользую, обхожусь List & Label :)
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

C6.3 как убить Excel в процессах

Сообщение RaFaeL »

Есть как минимум несколько вариантов выгрузки в excel без OLE
kreator
✯ Ветеран ✯
Сообщения: 4983
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 7 раз
Поблагодарили: 20 раз

C6.3 как убить Excel в процессах

Сообщение kreator »

Надо смотреть, что в этом классе abxl. Он сам по идее должен всё делать. Может оказаться, что он не совместим с современным Excel.
Yufil писал(а): 07 Июль 2017, 9:59 Сейчас для любого окна с OLE строго обязательно перед закрытием юзаю
Код: Выделить всёOCXUngregisterEventProc(?OLE) ! Если OCX
?OLE{Prop:Deactivate}
Destroy(?OLE)

Но Ёксель давно не пользую, обхожусь List & Label
Это правильно, только, если не использовать сторонних классов.
RaFaeL писал(а): 07 Июль 2017, 10:13 Есть как минимум несколько вариантов выгрузки в excel без OLE
Ну да, как минимум класс abxl устарел.
Немножко в сторону. Хорошо без OLE, согласен, может быть. Совсем недавно делал очень сложную диаграмму (заказчик просит в Экселе), плюс тут же нужный данные, промежуточные итоги с использованием Экселевских функций типа "Нормальное распределение". Делаю так. Данные выгружаю без OLE. Потом открываю файл через OLE и фигачу диаграмму и всё остальное. При этом по образцу делаю макрос и тупо переношу строчки этого макроса в текст Клариона (ну не тупо, с преобразованием). Вот как средства, формирующие файл Экселя, строят диаграммы? Как строит диаграммы L&L? Переносит в Эксель растровый рисунок?
We are hard at work… for you. :)
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4615
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 37 раз

C6.3 как убить Excel в процессах

Сообщение finsoftrz »

Я вывожу данные в xls файл прямой записью, а графики затем строю через генерацию vbscript специальным классом. На выбор, excel или calc. Дальше инфа из блога для пользователей по автоматическим ночным рассылкам.
============================================================
В ночных рассылках появились графики. Это запланированный функционал. Интерес представляет новая технология для вывода графиков в электронные таблицы. Ее смысл в стандартизации, позволяющей формировать графики всего несколькими строчками кода. Теперь обычные табличные отчеты могут легко дополняться представлениями в виде графиков.
В общих чертах, используется следующий алгоритм. На основании выборки из базы данных, сделанной для табличного отчета, в специальный интерфейсный класс заносится список графиков с их сериями и значениями. Затем метод этого класса одним вызовом выводит все графики во временный xls-файл. При этом вывод значений для графиков происходит прямой записью в xls-файл на специальную служебную закладку, а для последующего построения графиков вызывается Excel или Calc через com-интерфейс. Поэтому работает очень быстро. Каждый график располагается на отдельной закладке. Полученный временный файл может быть либо открыт для пользователя, либо все его закладки автоматически скопированы в основной xls-файл с табличными отчетами. В последнем случае пользователю выводится один итоговый файл, включающий табличные отчеты и графики.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4615
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 37 раз

C6.3 как убить Excel в процессах

Сообщение finsoftrz »

А по сабжу уже много раз обсуждали. Была рекомендация выгружать excel три раза подряд, тогда выгружается...
C6/C11, ШВС, tps/btrieve.
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

C6.3 как убить Excel в процессах

Сообщение Yufil »

Диаграммы в List & Label поддерживаются, но не использовал очень давно (точнее, использовал ровно один раз в прошлом веке), выводил в PDF. Что будет при выводе в Excel - не знаю, смотреть надо. Весьма вероятно, что будет только картинка...
(Проверил, действительно картинка ... )
Можно попробовать https://mega.co.nz/#!t5JQHThI!3Vldj49d4 ... F3oK91lh_o - там небольшая программа на Кларионе
Последний раз редактировалось Yufil 07 Июль 2017, 12:45, всего редактировалось 1 раз.
talgat55
Ветеран
Сообщения: 316
Зарегистрирован: 11 Сентябрь 2008, 12:53
Благодарил (а): 3 раза

C6.3 как убить Excel в процессах

Сообщение talgat55 »

finsoftrz писал(а): 07 Июль 2017, 12:34А по сабжу уже много раз обсуждали. Была рекомендация выгружать excel три раза подряд, тогда выгружается...
А как выгружать ?
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4615
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 37 раз

C6.3 как убить Excel в процессах

Сообщение finsoftrz »

Поищите в архивах рассылок. Мялин по этому поводу писал. Я не пользуюсь, а голова стала забывать ненужную информацию. Иногда и нужную... :-)
C6/C11, ШВС, tps/btrieve.
talgat55
Ветеран
Сообщения: 316
Зарегистрирован: 11 Сентябрь 2008, 12:53
Благодарил (а): 3 раза

C6.3 как убить Excel в процессах

Сообщение talgat55 »

Спасибо - нашел
kreator
✯ Ветеран ✯
Сообщения: 4983
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 7 раз
Поблагодарили: 20 раз

C6.3 как убить Excel в процессах

Сообщение kreator »

finsoftrz писал(а): 07 Июль 2017, 12:29 Я вывожу данные в xls файл прямой записью, а графики затем строю через генерацию vbscript специальным классом. На выбор, excel или calc. Дальше инфа из блога для пользователей по автоматическим ночным рассылкам.
Всё равно же Excel нужен.
We are hard at work… for you. :)
kreator
✯ Ветеран ✯
Сообщения: 4983
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 7 раз
Поблагодарили: 20 раз

C6.3 как убить Excel в процессах

Сообщение kreator »

talgat55 писал(а): 07 Июль 2017, 13:40 Спасибо - нашел
Недавно обсуждали. Я выкладывал пример через xml. Дёшево и сердито.
We are hard at work… for you. :)
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3133
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

C6.3 как убить Excel в процессах

Сообщение Дед Пахом »

Вот она самая тема для FAQ.
С уважением, ДП
Аватара пользователя
Admin
Администратор
Сообщения: 3959
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 25 раз
Поблагодарили: 22 раза
Контактная информация:

C6.3 как убить Excel в процессах

Сообщение Admin »

Название темы и решение давайте - вставлю в FAQ
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
kreator
✯ Ветеран ✯
Сообщения: 4983
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 7 раз
Поблагодарили: 20 раз

C6.3 как убить Excel в процессах

Сообщение kreator »

Здесь куча вариантов. Какой FAQ? Для ФАКа нужны устоявшиеся решения.
Кстати, для ФАКа есть тема. Как выгрузить в очередь произвольный SQL-запрос. Часто задают. Варианты - viewtopic.php?p=25999#p25999. Опять же - формат даты в SQL.
We are hard at work… for you. :)
Ответить