Технология создания плагинов и программ-дополнений

Здесь обсуждаются графические оболочки, боты, языковые файлы и другие дополнения к CommFort 4.
maza
Сообщения: 36
Зарегистрирован: 19:46, 17.08.2008

Re: Технология создания плагинов и программ-дополнений

Сообщение maza »

А неу каво нема плагина под Microsoft Visual C++ 2008 Express Edition ? а то плагин в етой штуке инехочет компелироваться...
[удалено модератором]
и воще я непонял разници в етих 2 средах.. та же самая С++ тока одна бесплатноая а вторая платная.. но плагин в 2008 нехочет куча ошибок.. ненаходит предкомпелированай фаил #include <vcl.h> который вобще отсудствует
с етой стракой полная неразберихи то скобочки то ещо чот нетак..

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

typedef BYTE __stdcall (*typeCommFortProcess)(DWORD dwPluginID, DWORD dwMessageID, BYTE * bMessage, DWORD dwMessageLength);

typeCommFortProcess CommFortProcess;
и наскока я понимаю плагин в нуле то должен компелироваться..
но вслед мне выпадает вот такая беда)))

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

1>------ Построение начато: проект: NULL, Конфигурация: Debug Win32 ------
1>Компиляция...
1>NULL.cpp
1>d:\documents and settings\админ\мои документы\visual studio 2008\projects\null\null\null.cpp(2) : warning C4627: #include <vcl.h>: пропущен при поиске использования предкомпилированного заголовка
1>        Добавление директивы в "stdafx.h" или перестройка предкомпилированного заголовка
1>d:\documents and settings\админ\мои документы\visual studio 2008\projects\null\null\null.cpp(24) : error C2059: синтаксическая ошибка: (
1>d:\documents and settings\админ\мои документы\visual studio 2008\projects\null\null\null.cpp(26) : error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "CommFortProcess"
1>d:\documents and settings\админ\мои документы\visual studio 2008\projects\null\null\null.cpp(26) : error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
1>d:\documents and settings\админ\мои документы\visual studio 2008\projects\null\null\null.cpp(26) : error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
1>d:\documents and settings\админ\мои документы\visual studio 2008\projects\null\null\null.cpp(28) : error C2061: синтаксическая ошибка: идентификатор "typeCommFortProcess"
1>d:\documents and settings\админ\мои документы\visual studio 2008\projects\null\null\null.cpp(33) : warning C4068: неизвестная директива pragma
1>d:\documents and settings\админ\мои документы\visual studio 2008\projects\null\null\null.cpp(41) : error C2061: синтаксическая ошибка: идентификатор "typeCommFortProcess"
1>d:\documents and settings\админ\мои документы\visual studio 2008\projects\null\null\null.cpp(61) : error C2065: func1: необъявленный идентификатор
1>d:\documents and settings\админ\мои документы\visual studio 2008\projects\null\null\null.cpp(87) : fatal error C1075: конец файла обнаружен ранее, чем левая фигурная скобка '{' в "d:\documents and settings\админ\мои документы\visual studio 2008\projects\null\null\null.cpp(76)"
1>Журнал построения был сохранен в "file://d:\Documents and Settings\Админ\Мои документы\Visual Studio 2008\Projects\NULL\NULL\Debug\BuildLog.htm"
1>NULL - ошибок 8, предупреждений 2
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
Maxim Mirgorodsky
Администратор
Сообщения: 6877
Зарегистрирован: 09:56, 27.06.2005

Re: Технология создания плагинов и программ-дополнений

Сообщение Maxim Mirgorodsky »

maza

MSVC и BCB несовместимы друг с другом. Компилировать проекты друг друга не могут. Вам необходимо изучить теорию. В частности импортирование и экспортирование функций. И тогда станет понятно все, там из примера единственное что нужно взять - типы используемых функций.
maza
Сообщения: 36
Зарегистрирован: 19:46, 17.08.2008

Re: Технология создания плагинов и программ-дополнений

Сообщение maza »

понял.. будем шото предпренимать :) спасибо за помощь...
maza
Сообщения: 36
Зарегистрирован: 19:46, 17.08.2008

Re: Технология создания плагинов и программ-дополнений

Сообщение maza »

кто уже компилировал плагины подскажите пожалуйста что это за фигня выскакивает из-за которой не могу скомпилировать (((

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

[ILINK32 Error] Error: Unresolved external 'strcpy' referenced from C:\PROGRAM FILES\COMMFORT_SERVER\PLUGIN\PLUGIN_SERVER_NULL\DEBUG_BUILD\MAIN.OBJ
кто знает ? )))
сразу говорю что тока начинаю осваивать )) прошу сильно не бить если тупой вопрос )))

и еще.. подскажите норм компилятор.. может в нём дело
Аватара пользователя
Modesty
Сообщения: 58
Зарегистрирован: 20:26, 05.05.2008
Откуда: Томск

Re: Технология создания плагинов и программ-дополнений

Сообщение Modesty »

Хотелось бы увидеть маленький пример плагина для клиента на Delphi (например вывода сообщения в чат).
Большая просьба. Кто нибудь, порадуйте. ))
Machiavelli
Сообщения: 6
Зарегистрирован: 10:28, 29.12.2008

Re: Технология создания плагинов и программ-дополнений

Сообщение Machiavelli »

а есть ограничения по языку? я, к примеру, хочу написать плагин для клиента на PureBasic, возможно-ли?, а то я смотрю, тут одни дельфи да си
Maxim Mirgorodsky
Администратор
Сообщения: 6877
Зарегистрирован: 09:56, 27.06.2005

Re: Технология создания плагинов и программ-дополнений

Сообщение Maxim Mirgorodsky »

Никаких ограничений по языкам нет, написать плагин можно на чем угодно что компилирует dll файлы.
Fantomas
Сообщения: 8
Зарегистрирован: 22:27, 18.09.2008

Re: Технология создания плагинов и программ-дополнений

Сообщение Fantomas »

Подскажите, как исправить такую ошибку:
Я я скачал C++ builder 2009, загрузил проект нулевого плагина для сервера, но когда добавляю любую стандарнтую библиотеку и вызываю из них функции, то при компиляции возникают ошибки такого типа:
[ILINK32 Error] Error: Unresolved external '_ClassCreate' referenced from E:\....OBJ
и тд
Аватара пользователя
-=SJ=-
Сообщения: 246
Зарегистрирован: 02:21, 06.04.2007

Re: Технология создания плагинов и программ-дополнений

Сообщение -=SJ=- »

А когда будет доступна (или если уже доступна то где) информация по плагинам клиента 4.20?
Так как тут лежит еще старая информация

UPD: Нет всетаки в том файле информация была обновлена, но в описании почему то упорно упоминается версия 4.10 а не 4.20 что вводит в заблуждение.

UPD2: И скрытые папочки history в null плагинах как по мне не нужны :)
Maxim Mirgorodsky
Администратор
Сообщения: 6877
Зарегистрирован: 09:56, 27.06.2005

Re: Технология создания плагинов и программ-дополнений

Сообщение Maxim Mirgorodsky »

-=SJ=-

Исправили.

Fantomas

[ILINK32 Error] Error: Unresolved external '_ClassCreate' referenced from E:\....OBJ

Что-то с настройками декорирования импортируемых функций.
dimajak
Сообщения: 4
Зарегистрирован: 00:28, 06.12.2008

Re: Технология создания плагинов и программ-дополнений

Сообщение dimajak »

создайте пожалуйста простейший пример плагина для сервера на Delphi с формой, списком, Label и кнопкой, при нажатии на которую выдается список, а в Label количество юзверей на сервере.
Хочу разобраться что и как, а то не понятно для начинающего как создать свой плагин для сервера. :(

P.S. я правильно понял, что для сервера - это плагин, а для клиента - бот?
Аватара пользователя
-=SJ=-
Сообщения: 246
Зарегистрирован: 02:21, 06.04.2007

Re: Технология создания плагинов и программ-дополнений

Сообщение -=SJ=- »

Для сервера - только плагин, для клиента или плагин или UDP бот.

Примеры для плагинов для сервера на Delphi уже выкладывались в этой теме.
Может и не с тем функционалом что тебе надо, но вполне достаточные чтобы разобраться в основах.
yaotzin
Сообщения: 105
Зарегистрирован: 01:38, 21.07.2008
Контактная информация:

Re: Технология создания плагинов и программ-дополнений

Сообщение yaotzin »

Не доходит как число состоящие из 4рех байт правильно преобразовать

Например
//т.е. 2|1|0|0 это 258 ===== 2+1*256=258


т.е.

//весы 1 256 65535 4294967295
// 0 | 0 | 0 | 0


3й байт умножать на 1, второй байт умножать на 256 и т.д а потом это все сложить ? или есть какой либо нормальный подход в C# ? т.е. функция преобразования 4рех байтного числа в число хранящиеся в 32 разрядном регистре.
Аватара пользователя
Diver
Сообщения: 140
Зарегистрирован: 21:55, 21.05.2007

Re: Технология создания плагинов и программ-дополнений

Сообщение Diver »

Вручную преобразовывать не нужно, объявляйте int (число хранится в 4 байтах), присваивайте что надо и пишите его в поток. Читать также: в переменную типа int, 4 байта.
о представлении числа в памяти программа позаботится сама:
00 00 00 00 -> 0
FF 00 00 00 -> 255
00 01 00 00 -> 256
yaotzin
Сообщения: 105
Зарегистрирован: 01:38, 21.07.2008
Контактная информация:

Re: Технология создания плагинов и программ-дополнений

Сообщение yaotzin »

что значит программа сама переводит? )
я по udp принял например длину сообщения в чате, принял ее в String-овый тип данных
у меня хранится там например 1110 мне для бота нужно знать сколько это будет в 10тиричной системе счисления - ане побайтово в 4рех байтах. я и подумал что переведу 1110 тем методам что описал выше. или можно както по другому перевести?.
Закрыто