Locarus Forum
Locarus.ru => Программы для Windows XP, Vista => Плагины => Тема начата: imageofyou от 29 Февраль 2008, 13:27:15
-
Добрый день!
Где можно раздобыть SDK для разработки плагинов для BBExplorer?
Или хотя бы работающий пример.
Спасибо.
-
в папке BBExplorer лежит архив с примерами плагинов.
-
спасибо!
-
Здраствуйте.
Есть в папке всего один плагин BBPlagin с исходниками. Доступны только выпад меню списка файлов, контрольн точек и списка записей. В библиотеке в основном выкладываются dll без исходников.
Как можно получить header отчета? с каркасом? И добавить в закладку "Отчет" где отображаются 4 стандартных + свой "Свободный", т.к. нужно перед выводом информации в шаблон отчета произвести небольшие вычисления.. Сводного хватает, но не совсем :)
-
Здраствуйте.
Есть в папке всего один плагин BBPlagin с исходниками. Доступны только выпад меню списка файлов, контрольн точек и списка записей. В библиотеке в основном выкладываются dll без исходников.
Как можно получить header отчета? с каркасом? И добавить в закладку "Отчет" где отображаются 4 стандартных + свой "Свободный", т.к. нужно перед выводом информации в шаблон отчета произвести небольшие вычисления.. Сводного хватает, но не совсем :)
Все отчеты придется писать самому с 0.
к Delphi или Builder'у есть кучи генераторов отчетов. Доступ к данным описан в исходниках плугина.
Либо пользоваться шаблонами XLS, но там невозможны расчеты.
-
Все отчеты придется писать самому с 0.
к Delphi или Builder'у есть кучи генераторов отчетов. Доступ к данным описан в исходниках плугина.
Либо пользоваться шаблонами XLS, но там невозможны расчеты.
Тогда вопрос поставлю несколько иначе:
При четко сформулированном ТЗ вы можете доработать программу\очтет\либо плагин, который выполняет
формально след действия:
ТЗ
п.1
п.2
расчет 1.,2.,3
п.3
Вывод информации (предпросмотр, печать)
С ответом можно в личку (стоимость работ)
-
Вышлите ТЗ мне на почту: andrey@black-box.ru
Подумаем.
-
А чем лучше плагин собирать? А то последней студией чето не хочет, ругаиццо :)
-
я вообще писал в Builder 6.0, проблем не было. Сейчас подумываю SDK перевести на Delphi (по-моему ещё никто не переводил, думаю кому-нибудь пригодится)
-
Пошел качать Билдер :)
Я там понимаю Информер сам на дельфи написан, возможно и "сдк" уже существует? Давайте спросим у разработчиков :)
И ещё вопрос, про OLE плагины, зачем это может быть нужно, и где брать информацию?
-
И ещё вопрос, про OLE плагины, зачем это может быть нужно, и где брать информацию?
плагин нужен например для обращение к данным, которые хранятся в LI из 1С, Excel, Word - любой системы, которая поддерживает работу с OLE объектами. Брать тут: http://black-box.ru:8080/dwn.php?file=47, по-моему там же и описание (вот тема про него: http://black-box.ru/forum/index.php/topic,666.0.html
-
А как насчет дельфи? Просто интересно, на чем наши разработчики сами плагины пишут? :)
-
Ладна, не буду старые версии студии качать, буду домогать почему не компилится :)
------ Построение начато: проект: BBPlugin, Конфигурация: Debug Win32 ------
Компиляция...
cl: командная строка warning D9035: использование параметра "Wp64" нежелательно, он будет удален в следующих выпусках
stdafx.cpp
Компиляция...
cl: командная строка warning D9035: использование параметра "Wp64" нежелательно, он будет удален в следующих выпусках
BBPlugin.cpp
c:\documents and settings\udjin\мои документы\плагины для локаруса\sample\bbplugin.cpp(114) : warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
c:\program files\microsoft visual studio 9.0\vc\include\string.h(74): см. объявление 'strcpy'
c:\documents and settings\udjin\мои документы\плагины для локаруса\sample\bbplugin.cpp(126) : error C2664: wsprintfW: невозможно преобразовать параметр 1 из 'char [500]' в 'LPWSTR'
Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции
c:\documents and settings\udjin\мои документы\плагины для локаруса\sample\bbplugin.cpp(127) : error C2664: MessageBoxW: невозможно преобразовать параметр 2 из 'char [500]' в 'LPCWSTR'
Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции
c:\documents and settings\udjin\мои документы\плагины для локаруса\sample\bbplugin.cpp(138) : error C2664: wsprintfW: невозможно преобразовать параметр 1 из 'char [500]' в 'LPWSTR'
Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции
c:\documents and settings\udjin\мои документы\плагины для локаруса\sample\bbplugin.cpp(139) : error C2664: MessageBoxW: невозможно преобразовать параметр 2 из 'char [500]' в 'LPCWSTR'
Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции
c:\documents and settings\udjin\мои документы\плагины для локаруса\sample\bbplugin.cpp(144) : error C2664: wsprintfW: невозможно преобразовать параметр 1 из 'char [500]' в 'LPWSTR'
Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции
c:\documents and settings\udjin\мои документы\плагины для локаруса\sample\bbplugin.cpp(145) : error C2664: MessageBoxW: невозможно преобразовать параметр 2 из 'char [500]' в 'LPCWSTR'
Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции
c:\documents and settings\udjin\мои документы\плагины для локаруса\sample\bbplugin.cpp(151) : error C2664: wsprintfW: невозможно преобразовать параметр 1 из 'char [500]' в 'LPWSTR'
Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции
c:\documents and settings\udjin\мои документы\плагины для локаруса\sample\bbplugin.cpp(152) : error C2664: MessageBoxW: невозможно преобразовать параметр 2 из 'char [500]' в 'LPCWSTR'
Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции
c:\documents and settings\udjin\мои документы\плагины для локаруса\sample\bbplugin.cpp(167) : error C2664: MessageBoxW: невозможно преобразовать параметр 2 из 'char [500]' в 'LPCWSTR'
Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции
c:\documents and settings\udjin\мои документы\плагины для локаруса\sample\bbplugin.cpp(176) : error C2664: wsprintfW: невозможно преобразовать параметр 1 из 'char [500]' в 'LPWSTR'
Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции
c:\documents and settings\udjin\мои документы\плагины для локаруса\sample\bbplugin.cpp(177) : error C2664: MessageBoxW: невозможно преобразовать параметр 2 из 'char [500]' в 'LPCWSTR'
Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции
c:\documents and settings\udjin\мои документы\плагины для локаруса\sample\bbplugin.cpp(214) : warning C4244: =: преобразование 'double' в 'int', возможна потеря данных
c:\documents and settings\udjin\мои документы\плагины для локаруса\sample\bbplugin.cpp(216) : warning C4244: =: преобразование 'double' в 'int', возможна потеря данных
c:\documents and settings\udjin\мои документы\плагины для локаруса\sample\bbplugin.cpp(241) : error C2664: TextOutW: невозможно преобразовать параметр 4 из 'const char [12]' в 'LPCWSTR'
Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции
Журнал построения был сохранен в "file://c:\Documents and Settings\Udjin\Мои документы\Плагины для Локаруса\Sample\Debug\BuildLog.htm"
BBPlugin - ошибок 12, предупреждений 5
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
Катастрофа, че делать? :)
Дайте модули для дельфи!!! :)
-
Аааа... забыл написать, это все бесплатная MS VC++ 2008 Express Edition
-
скачай лучше Builder человеческий, например 6.0 и там компиль ))) SDK для Delphi будет в понедельник :)
-
Я в этих сях честно говоря не очень, ну и шестилетний перерыв сказывается :)
создал проект DLL визардом, в основной модуль закинул содержимое cpp.
Ругается я там понимаю ни разу не на то, что что-то неподключено... Мне бы чтобы это все собираться начало, остальное фигня :) Чешется чето у меня внутри вспомнить прошлое, с плагинами самому повозиться длинными зимними вечерами, дабы лучше представлять что ими сделать можно :)
-
Я в этих сях честно говоря не очень, ну и шестилетний перерыв сказывается :)
создал проект DLL визардом, в основной модуль закинул содержимое cpp.
Ругается я там понимаю ни разу не на то, что что-то неподключено... Мне бы чтобы это все собираться начало, остальное фигня :) Чешется чето у меня внутри вспомнить прошлое, с плагинами самому повозиться длинными зимними вечерами, дабы лучше представлять что ими сделать можно :)
Уберите const из объявлений всех функций. И можно ваш файл BBPlugin.h посмотреть?
-
Ну собственно то, что в последнем доступном на сайте локарусе лежит. Ничего там не трогал! :)
-
Тогда, если вы работаете в 6-м билдере (в других средах не знаю), вот из этих строк:
#ifdef BBPLUGIN_EXPORTS
#define BBPLUGIN_API __declspec(dllexport) __stdcall
#else
#define BBPLUGIN_API __declspec(dllimport) __stdcall
#endif
Оставьте только:
#define BBPLUGIN_API __declspec(dllexport) __stdcall
Иначе плагин подцепляться к ЛИ не будет и дописывайте переназначенные обработчики в конец этого файла.
-
Если отбросить предупреждения, то ошибки связаны с тем, что у тебя стоит настройка Unicode для проекта, а параметры в MessageBox и wsprintf передаются как char. Нужно или у проекта убрать использование Unicode или применять явно MessageBoxA и sprintf.
-
или MessageBoxW, заменить на MessageBoxA
-
А как насчет дельфи? Просто интересно, на чем наши разработчики сами плагины пишут? :)
Пример BBPlugin писан на Visual Studio 2008
Топливозаправщик - на билдере 2009 (или 2008)
-
А почему тогда Visual Studio 2008 Express ругается на BBPlugin что он сделан в предыдущей версии и что-то там в проекте переконвертирует?
-
А почему тогда Visual Studio 2008 Express ругается на BBPlugin что он сделан в предыдущей версии и что-то там в проекте переконвертирует?
Проект начинался на VS2003 (вроде), далее в архиве менялся только заголовочный файл (не у всех же новый VS)
Поэтому студия хочет его сконвертить. Делает она это без особых проблем и ошибок (конвертится только сам файл проекта BBPlugin.vcproj . Все *.h и *.cpp файлы остаются без изменения).
-
Ultras, а ты сдк для дельфи не делал ещё случайно? :)))))
Армия страждущих ждет твоего труда :)
-
Ultras, а ты сдк для дельфи не делал ещё случайно? :)))))
Армия страждущих ждет твоего труда :)
яж сказал в понедельник, тока забыл сказать в какой (постараюсь пораньше понедельника, другие проблемы были )))
-
Ultras, а ты сдк для дельфи не делал ещё случайно? :)))))
Армия страждущих ждет твоего труда :)
яж сказал в понедельник, тока забыл сказать в какой (постараюсь пораньше понедельника, другие проблемы были )))
Не забудьте в настройках проекта выставить выравнивание (Alignment) равным DWORD (4 байта).
-
Не забудьте в настройках проекта выставить выравнивание (Alignment) равным DWORD (4 байта).
ок, спасибо, учту :)
-
SDK для Delphi будет в понедельник :)
Уже много понедельников прошло!
Ultras, может всё-таки сделаешь, что обещал?
-
Дим, уже не я один стражду! :))))))
-
прям щас занимаюсь, до того много дел было, а на плагин, так сказать, нет мотивации денежной )))))))
-
Да ты что, а тебе Локарус зарплату ещё не платит? :)
Андрей Владимирович, возьмите Ультраса на работу, он нам будет модули клепать! :)
-
Добрый вечер, не прошло и года, я сделал SDK для Delphi, помог _Alex_ (http://black-box.ru/forum/index.php?action=profile;u=26), за это ему награду дайте :) (по телефону кой чего объяснил). В общем качайте, пробуйте, если будут глюки - обращайтесь, помогу, чем смогу :)
P.S.: пока что не победил PluginCaption, но и без него работает (Delphi всё таки не C++)
-
Аааалилуууйяяяя!!! :) Спасибо Дим! :)
-
незачто :) только если будете создавать новый проект, не забываем в Delphi нажать Ctrl+Shift+F11 (Project->Options) и сделать как показано на рисунке (красным):
-
Доброго времени суток, уважаемые разработчики!
Я только начал писать плагины, и сразу же столкнулся с проблемой переносимости.
Пишу в VS 2008 на Managed C++ .NET, так вот, на машинах где есть студия, LI плагин подгружает без проблем, на клиентских машинах - нет.
Причем на клиентских машинах стоят все необходимые фрэймворки. Я подумал, что помимо .NET фрэймворка требуются еще библиотеки для С++, поэтому создал инсталлятор, который, по идее, включает в пакет установки все зависимые файлы. Но результат тот же, уже и не знаю что делать.
Буду рад любым идеям!
PS: прикрепил плагин...
-
Попробуй "Microsoft Visual C++ Redistributable Package" поставить
-
А вообще-то лучше посмотреть утилитой depends (по-моему так называется) какие есть неразрешенные ссылки
-
Спасибо за ответы.
Попробуй "Microsoft Visual C++ Redistributable Package" поставить
Ставлю "Microsoft Visual C++ Redistributable Package", не помогает (хотя по идее должно). Пробовал на нескольких машинах с Win7.
Неразрешенные ссылки: MSVCR90.DLL, MSVCM90.DLL. Хотя в системе они есть.
У меня эти же библиотеке лежат здесь:
c:\windows\winsxs\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.4926_none_508ed732bcbc0e5a\MSVCR90.DLL
c:\windows\winsxs\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.4926_none_508ed732bcbc0e5a\MSVCM90.DLL
-
c:\windows\winsxs - это не в системе, это как раз что-то вроде архива. Короче их нужно в system32. Хотя вроде как пакет установки RunTime должен был их установить
-
c:\windows\winsxs - это не в системе, это как раз что-то вроде архива. Короче их нужно в system32. Хотя вроде как пакет установки RunTime должен был их установить
На моей машине их в system32 нету, но даже если вручную скопировать необходимые файла в system32 на клиентских машинах, все равно плагин не подгружается :(
-
c:\windows\winsxs - это не в системе, это как раз что-то вроде архива. Короче их нужно в system32. Хотя вроде как пакет установки RunTime должен был их установить
На моей машине их в system32 нету, но даже если вручную скопировать необходимые файла в system32 на клиентских машинах, все равно плагин не подгружается :(
Пройдитесь по свойствам Linker в настройках проекта, скорее всего у вас не выставлено свойство "Link Library Dependencies".
Да и вручную, чтобы ЛИ их подхватил dll надо копировать в его директорию.
-
В "Link Library Dependencies" выставлено Yes.
-
c:\windows\winsxs - это не в системе, это как раз что-то вроде архива. Короче их нужно в system32. Хотя вроде как пакет установки RunTime должен был их установить
На моей машине их в system32 нету, но даже если вручную скопировать необходимые файла в system32 на клиентских машинах, все равно плагин не подгружается :(
Пройдитесь по свойствам Linker в настройках проекта, скорее всего у вас не выставлено свойство "Link Library Dependencies".
Да и вручную, чтобы ЛИ их подхватил dll надо копировать в его директорию.
ЛИ их не подхватывает, ЛИ использует стандартную функцию системы "LoadLibrary", в соответствии с которой библиотеки могут лежать как рядом, так и в SYSTEM32.