OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Четверг, 19 Июнь, 2025 17:16

Часовой пояс: UTC + 3 часа




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

Зарегистрирован: Четверг, 04 Декабрь, 2008 20:41
Сообщения: 16
Вечер добрый!

Попробовал добавить в версию 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 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Алексей_В писал(а):
Попробовал добавить в версию 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 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2935
Откуда: г. Ярославль
Компоненты с http://www.zinnamturm.eu заточены под BB 1.6, этот фактор тоже надо учитывать.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 11 Декабрь, 2008 20:49 

Зарегистрирован: Четверг, 04 Декабрь, 2008 20:41
Сообщения: 16
Приветствую!

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

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 11 Декабрь, 2008 21:37 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
В патче изменен интерфейс процедуры PROCEDURE (obj: OutObject) Invoke* ... в модуле CtlT. Все модули, которые используют эту процедуру (и, возможно сам тип OutObject - тут точно сказать не могу) нужно перекомпилировать.
Из стандартного ББ это модули подсистемы Ctl, OleViews. За прочие подсистемы/модули говорить не могу, но перекомпилировать их тоже надо...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 11 Декабрь, 2008 22:03 

Зарегистрирован: Четверг, 04 Декабрь, 2008 20:41
Сообщения: 16
Евгений!

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 11 Декабрь, 2008 22:16 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2935
Откуда: г. Ярославль
Разрешите поинтересоваться, в каких целях используется Ctl? Интерес чисто академический.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 11 Декабрь, 2008 22:39 

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 12 Декабрь, 2008 07:52 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2935
Откуда: г. Ярославль
Назначение Ctl описано в справке, она нужна для OLE automation. Я неправильно задал вопрос :) Для каких целей Вами используется подсистема Ctl?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 12 Декабрь, 2008 10:02 

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 12 Декабрь, 2008 11:07 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2935
Откуда: г. Ярославль
Понятно, спасибо за ответ.

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

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 12 Декабрь, 2008 11:48 

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 12 Декабрь, 2008 12:01 

Зарегистрирован: Вторник, 18 Сентябрь, 2007 08:48
Сообщения: 108
Для создания отчетов можно заюзать две вещи:
1. ReportMan (лежит на www.sourceforge.org), есть ocx для управления им.
2. Fast Report Studio. Но дорого.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 12 Декабрь, 2008 12:35 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2935
Откуда: г. Ярославль
Можно и третью вещь заюзать - это генератор отчётов, написанный на ББ. Включает в себя визуальный редактор, возможность работать с произвольными источниками данных, и средства метапрограммирования.

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 12 Декабрь, 2008 14:26 
Модератор
Аватара пользователя

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

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


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 15 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2025, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB