Re: Технология создания плагинов и программ-дополнений
Добавлено: 18:05, 11.03.2010
[Сообщение yдалено]
форум поддержки
https://commfort.com/ru/forum/
При работе со строками я делаю asm вставки и все работает прекрасно. Проверено на D7 и D2005.cilvay писал(а):У кого нибудь есть рабочий нормальный исходник пример бота на Delphi 2006-2010?
тот что был раньше от DV он только для delphi 7 и ниже. Если там поставить PansiChar вместо pchar то хоть и компилируется, но ничего не работает((
Что что?При работе со строками я делаю asm вставки и все работает прекрасно.
Так ты с UDP пакетами хочешь работать? Я плюнул на это и взял Null plugin на С++ и адаптировал на Delphi. Нормально пашет и на Delphi7 и Delphi2005. Я не нашел исходников для перехвата UDP пакетов для комфорта поэтому не стал заморачиваться.cilvay писал(а):Что что?
И да, если не можите заставить работать udp.pas на delphi 2006-2010, сделайте рабочий пример хотябы на indy...
Если реализовывать бота на Indy то невозможно будет отправлять сообщения от бота к чату, так как чтобы реализовать двусторонний обмен данными с помощью Indy надо использовать два компонента, которые не смогут работать на одном порту как того требует подключение к CommFort.cilvay писал(а):Что что?
И да, если не можите заставить работать udp.pas на delphi 2006-2010, сделайте рабочий пример хотябы на indy...
Ясна.. А есть какой нить оф сайт создателей udp.pas ну или как то связаться с ним? может просто есть новая версия...-=SJ=- писал(а):Если реализовывать бота на Indy то невозможно будет отправлять сообщения от бота к чату, так как чтобы реализовать двусторонний обмен данными с помощью Indy надо использовать два компонента, которые не смогут работать на одном порту как того требует подключение к CommFort.
Пользуйтесь WinSock и данные проблемы сразу же исчезнут.Ясна.. А есть какой нить оф сайт создателей udp.pas ну или как то связаться с ним? может просто есть новая версия...
Ты пишешь на чем? Delphi или C++? Если на делфи то надо при инициализации плагина создавать форму. Которую ты предварительно уже создал. На счет С++ я не знаю.cilvay писал(а):Дак вот, есть ли просто тупой исходник плагина, где тупо все работает и где чистая форма, где я могу кидать кнопочки, мемо, лабелы и прочую фигню... ??
Код: Выделить всё
///
function PluginInit (dwThisPluginID:DWORD; sPluginInfo:TsPluginInfo; func1:Pointer; func2:Pointer):DWORD;stdcall;
begin
dwPluginID:=dwThisPluginID;
sPluginInfo.strPluginVersion:='My Plugin v 4.40'+#0;
sPluginInfo.strPluginDescription:='Test plugin'+#0;
sPluginInfo.strPluginName:='New my Delphi 7 bot'+#0;
@CommFortProcess:=func1;
@CommFortGetData:=func2;
if CreateMainForm = False then begin
Form1 := TForm1.Create(Application);
CreateMainForm:=True; // это флаг для "PluginTerminate" где проверяется форма на создание
// и в случае если форма была создана то она удаляеться.
Form1.Show; // отобразить //
end;
Код: Выделить всё
begin
if not BActive then // когда приходит первый пакет
begin
UDP1.RemoteHost:=FromIP; // определяем куда будем отправлять
UDP1.RemotePort:=Port; // и на какой порт
BActive:=true; // и больше сюда не заходим
[b]memo1.lines.add('Готов к работе!'+UDP1.RemoteHost); //фиксируем это событие в мемо[/b]
end;
Код: Выделить всё
if ln(copy(Data,1,4))=5 then // если первое число 5, значит это сообщение в чате
begin
Код: Выделить всё
memo1.Lines.Add(inttostr(ln(copy(Data,1,4))));