OberonCore
https://forum.oberoncore.ru/

Как правильно добавить систему Ctl
https://forum.oberoncore.ru/viewtopic.php?f=1&t=1279
Страница 1 из 1

Автор:  Алексей_В [ Среда, 10 Декабрь, 2008 22:40 ]
Заголовок сообщения:  Как правильно добавить систему Ctl

Вечер добрый!

Попробовал добавить в версию 1.5 с сайта OberonCore подсистему Lib (http://www.zinnamturm.eu) Во-первых, не понятно, почему Lib требует (кроме объявленной Ctls и как оказалось Ctl) еще Pac и CpcCompressors. Хотя эти зависимости легко решаются, может можно просто скомпилировать эти упаковщики, не расширяя ими меню, потом собрать Lib и папки упаковщиков просто удалить? Не будет ли это потом источником трудноуловимых ошибок?

Но главное, не понятно. При копировании в папку Блекбокса каталого Ctl c OberonCore (раздел Компоненты -> "Подсистема Ctl. Для тех, кому она....") компиляция Lib останавливается с ошибкой "CtlExcel8 - inconsistent import" Пробовал брать каталог Ctl с сайта проекта Информатика-21 - Lib компилируется. Но вдруг такое манипулирование между дистрибутивами вызовет опять-таки ошибки совместимости?

Автор:  Евгений Темиргалеев [ Среда, 10 Декабрь, 2008 23:06 ]
Заголовок сообщения:  Re: Как правильно добавить систему Ctl

Алексей_В писал(а):
Попробовал добавить в версию 1.5 с сайта OberonCore подсистему Lib (http://www.zinnamturm.eu)...
Это сайт Хельмута Зина с коллекцией компонентов на компонентном паскале. :) С вопросами о не стыковках лучше обратиться к нему или автору(ам) подсистемы. Только укажите в заголовке письма [CPC] Lib.
Алексей_В писал(а):
"Подсистема Ctl. Для тех, кому она....") компиляция Lib останавливается с ошибкой "CtlExcel8 - inconsistent import" Пробовал брать каталог Ctl с сайта проекта Информатика-21 - Lib компилируется. Но вдруг такое манипулирование между дистрибутивами вызовет опять-таки ошибки совместимости?
Почитайте Docu\Patch в версии с Oberoncore. Я вносил исправления, которые коснулись интерфейса. Если решите использовать патченную версию, приходётся перекомпилировать зависимые модули.

Автор:  Иван Кузьмицкий [ Четверг, 11 Декабрь, 2008 07:33 ]
Заголовок сообщения:  Re: Как правильно добавить систему Ctl

Компоненты с http://www.zinnamturm.eu заточены под BB 1.6, этот фактор тоже надо учитывать.

Автор:  Алексей_В [ Четверг, 11 Декабрь, 2008 20:49 ]
Заголовок сообщения:  Re: Как правильно добавить систему Ctl

Приветствую!

В принципе, c непатченной Ctl (или мало патченной) компонент Lib работает и в версии 1.5 от Информатика-21 ...

Но мне нужна судя по всему именно патченная подсистема Ctl, так как я хотел поэкспериментировать с OPC-сервером (сомпонент COM). И в тоже время Lib пригодится...

Частично проблема решилась (если я правильно понял Евгения) перекомпиляцией всех файлов из набора Ctl - во всяком случае ошибка "CtlExcel8 - inconsistent import" пропала. Но теперь ругается на "OleViews - - inconsistent import" Наверное, это можно тоже поправить?

Автор:  Евгений Темиргалеев [ Четверг, 11 Декабрь, 2008 21:37 ]
Заголовок сообщения:  Re: Как правильно добавить систему Ctl

В патче изменен интерфейс процедуры PROCEDURE (obj: OutObject) Invoke* ... в модуле CtlT. Все модули, которые используют эту процедуру (и, возможно сам тип OutObject - тут точно сказать не могу) нужно перекомпилировать.
Из стандартного ББ это модули подсистемы Ctl, OleViews. За прочие подсистемы/модули говорить не могу, но перекомпилировать их тоже надо...

Автор:  Алексей_В [ Четверг, 11 Декабрь, 2008 22:03 ]
Заголовок сообщения:  Re: Как правильно добавить систему Ctl

Евгений!

Да, спасибо, заработало. Но я просто например из подсистемы Ole открыл файл Views и перекомпилировал его. И еще несколько на всякий случай. А нет ли какой-нибудь команды, чтобы автоматически перекомпилировать все зависимые модули или подсистемы целиком, чтобы не открывать по одному файлу? Вручную не то что бы трудно, но так и пропустить что-нибудь недолго...

Автор:  Иван Кузьмицкий [ Четверг, 11 Декабрь, 2008 22:16 ]
Заголовок сообщения:  Re: Как правильно добавить систему Ctl

Разрешите поинтересоваться, в каких целях используется Ctl? Интерес чисто академический.

Автор:  Алексей_В [ Четверг, 11 Декабрь, 2008 22:39 ]
Заголовок сообщения:  Re: Как правильно добавить систему Ctl

Отвечать точно не мне - я с BlackBox пока знаком на минимуме :D Как я понял, разработчик того же Lib использует возможности автоматизации, предоставляемые например Exel. Без Ctl Lib так просто не поставишь, даже если Lib интересен только для вывода графиков из своих программ. Кроме того, у меня такое ощущение, что подсистема COM не полностью функциональна без Ctl (viewtopic.php?f=23&t=883 ; я как раз планирую поэкспериментировать с OPC-сервером)

Автор:  Иван Кузьмицкий [ Пятница, 12 Декабрь, 2008 07:52 ]
Заголовок сообщения:  Re: Как правильно добавить систему Ctl

Назначение Ctl описано в справке, она нужна для OLE automation. Я неправильно задал вопрос :) Для каких целей Вами используется подсистема Ctl?

Автор:  Алексей_В [ Пятница, 12 Декабрь, 2008 10:02 ]
Заголовок сообщения:  Re: Как правильно добавить систему Ctl

Да собственно как таковая Ctl для меня не самоцель.
Но она требуется для корректной установки Lib. А вот Lib мне нужна для вывода графиков в первую очередь. Возможно, Lib будет работать и с частично скомпилированными модулями, но я пока не могу сказать, где что еще вылезет.... Вот и хотелось бы, чтоб компиляция всей Lib проходила успешно. Мне конечно было бы приятнее, чтобы Lib была заточена под OpenOffice например. И включала в свой состав и софтину промежуточного уровня так сказать. Но чего нет, того нет....

Кроме того, я когда-то читал, что реализации OPC (для взаимодействия с промышленным оборудованием) часто содержат и интерфейсы OLE-автоматизации. Прежде всего к Excel например. Получается, чтобы полностью использовать возможности того или иного OPC сервера, нужен "мост" к MS Office скажем. Или писать самому все то, что разработчики OPC сервера хотели возложить на приложения Офиса. Если не прав - поправьте :oops:

Автор:  Иван Кузьмицкий [ Пятница, 12 Декабрь, 2008 11:07 ]
Заголовок сообщения:  Re: Как правильно добавить систему Ctl

Понятно, спасибо за ответ.

Проблема построения отчётов, графиков и диаграмм в офисном пакете стоит и перед нами. Завязываться на офисы мелкософта нереально, потому что невозможно гарантировать уверенный вывод документов в зоопарк версий MS-Office нашими небольшими силами. А с Опенофисом проще, недавно вышедшую 3-ю версию установили на все рабочие места - и порядок.

Вот, Пётр Кушнир написал генератор ODF-документа. С его помощью, в формате OpenOffice.org создаются бланки и отчёты в информсистеме Ярославского института развития образования.

Но функциональности генератора не хватает, так как нужны ещё электронные таблицы, построение диаграмм и автоматическая обработка документов, открытых в ООо (автоматизация). Ну а на доработку генератора просто не хватает рук :) Говорить о развитии генератора совместными усилиями в BlackBox сообществе можно только при наличии соответствующей потребности, которая пока слабо просматривается. Поэтому я и спросил Вас про использование Ctl, в надежде отыскать эту самую потребность :)

Автор:  hothing [ Пятница, 12 Декабрь, 2008 11:48 ]
Заголовок сообщения:  Re: Как правильно добавить систему Ctl

Алексей_В писал(а):
Кроме того, я когда-то читал, что реализации OPC (для взаимодействия с промышленным оборудованием) часто содержат и интерфейсы OLE-автоматизации. Прежде всего к Excel например. Получается, чтобы полностью использовать возможности того или иного OPC сервера, нужен "мост" к MS Office скажем. Или писать самому все то, что разработчики OPC сервера хотели возложить на приложения Офиса. Если не прав - поправьте :oops:

Для использования OPC, MS Office не нужен, в принципе.
Очень рекомендую, сначала по-работать с OPC через VBA (например через тот же Офис), а уж потом крестить его с ББ.
В ББ не все гладко с генератором интерфейсов (такая хрень которая генерит код для работы с COM-обьектами), после него еще напильником надо много дорабатывать. Без понимания работы Automation - гиблое дело.

Автор:  Edward Ivanov [ Пятница, 12 Декабрь, 2008 12:01 ]
Заголовок сообщения:  Re: Как правильно добавить систему Ctl

Для создания отчетов можно заюзать две вещи:
1. ReportMan (лежит на www.sourceforge.org), есть ocx для управления им.
2. Fast Report Studio. Но дорого.

Автор:  Иван Кузьмицкий [ Пятница, 12 Декабрь, 2008 12:35 ]
Заголовок сообщения:  Re: Как правильно добавить систему Ctl

Можно и третью вещь заюзать - это генератор отчётов, написанный на ББ. Включает в себя визуальный редактор, возможность работать с произвольными источниками данных, и средства метапрограммирования.

Бесплатно и открыто :)

Автор:  Евгений Темиргалеев [ Пятница, 12 Декабрь, 2008 14:26 ]
Заголовок сообщения:  Re: Как правильно добавить систему Ctl

Алексей_В писал(а):
А нет ли какой-нибудь команды, чтобы автоматически перекомпилировать все зависимые модули или подсистемы целиком, чтобы не открывать по одному файлу?
Насколько мне известно, используют команду DevCompiler.CompileThis список модулей, которую набирают руками и сохраняют в документе для повторного исп-я:
- Dev\Docu\Build-Tool.
- Docu\Compile-List в подсистемах CPC.

Посмотрите команду Info->Create Tool. Создает документ, содержащий команд(ер)ы для компиляции выделенных модулей, в правильном порядке. Попробуйте Info->Repository, открыть подсистему Ctl. Выделить все строчки-модули и выполнить эту команду.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/