Вернуться   CoderX :: Forums > Основные форумы > Программинг
Войти через OpenID

Программинг Форум для тем связанных с программированием

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 04.02.2012, 09:18   #1
Пользователь
 
Регистрация: 14.01.2011
Сообщений: 48
Сказал Спасибо: 19
Имеет 4 спасибок в 3 сообщенях
Denever пока неопределено
По умолчанию l2ph -> Plugins

Код:
Build
  [Error] Project2.dpr(133): Array type required
  [Error] Project2.dpr(133): Incompatible types: 'String' and 'Integer'
  [Error] Project2.dpr(136): Incompatible types: 'String' and 'Integer'
  [Error] Project2.dpr(141): Incompatible types: 'TPacket' and 'String'
  [Error] Project2.dpr(150): Statement expected but 'EXPORTS' found
Код:
procedure OnPacket(const cnt: Cardinal; const fromServer: Boolean; var pck: TPacket); stdcall;
var
  buf: string;
begin
if pck.size<3 then exit; // на случай если предыдущие плагины обнулили пакет
if FromServer and (pck[1]=#$03) and (MyName=0) then // <- 133 строчка
begin
 i:=22;
Name:=ps.ReadS(i); // <- 136 строчка
 //
 //
 //
 //
 pck:=''; // 141 строчка
 //
 //
 //
 //
end;

exports // 150 строчка.
  GetPluginInfo,
  SetStruct,
  OnPacket,
  OnLoad,
  OnFree;
begin
end.
Пробую переделать скрипт в плагин..
Помогите в чём проблема?

Последний раз редактировалось Denever, 04.02.2012 в 10:57.
Denever вне форума   Ответить с цитированием
Старый 04.02.2012, 13:27   #2
Admin!
 
Аватар для xkor
 
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
xkor на пути к лучшему
По умолчанию

Denever, как минимум в том что TPacket это не string а запись из нескольких вариантов массивов, так что работать с pck как со строкой не выйдет. В 133й строке вместо "pck[1]=#$03" надо как то так "pck.pckId=$03", на 136ой не "ps.ReadS(i)" а "ps.ReadSEx(pck,i+1)", на 141 не "pck:=''" а "pck.size:=0", а что не так 150ой строкой я не совсем понял
__________________
Я здесь практически не появляюсь!, Skype - ikskor
xkor вне форума   Ответить с цитированием
За это сообщение xkor нажился спасибкой от:
Старый 04.02.2012, 14:16   #3
Пользователь
 
Регистрация: 14.01.2011
Сообщений: 48
Сказал Спасибо: 19
Имеет 4 спасибок в 3 сообщенях
Denever пока неопределено
По умолчанию

Спасибо
Denever вне форума   Ответить с цитированием
Старый 04.02.2012, 14:18   #4
Местный
 
Аватар для Aries
 
Регистрация: 19.01.2011
Сообщений: 241
Сказал Спасибо: 7
Имеет 26 спасибок в 22 сообщенях
Aries пока неопределено
По умолчанию

упс
Aries вне форума   Ответить с цитированием
Старый 04.02.2012, 16:38   #5
Местный
 
Аватар для supernewbie
 
Регистрация: 23.09.2009
Сообщений: 1,232
Сказал Спасибо: 119
Имеет 172 спасибок в 134 сообщенях
supernewbie пока неопределено
По умолчанию

Цитата:
Сообщение от xkor Посмотреть сообщение
а что не так 150ой строкой я не совсем понял
дык там end'а в OnPacket'е не хватает
__________________
Начало.
supernewbie вне форума   Ответить с цитированием
Старый 04.02.2012, 18:06   #6
Пользователь
 
Регистрация: 14.01.2011
Сообщений: 48
Сказал Спасибо: 19
Имеет 4 спасибок в 3 сообщенях
Denever пока неопределено
Восклицание

Код:
if FromServer and (pck.pckId=$03) then
begin
 i:=22;
 Name:=ps.ReadSEx(pck,i); //+1?? Пробывал.
 ShowMessage('Найден: '+Name); // debug сообщений есть ли имя?
Почему не определяет имя?

Код:
Procedure SendPM(msg:string);
var
  buf: string;
begin
  with ps do begin
    buf:=#$4A;
    WriteD(buf,0);
    WriteD(buf,10);
    WriteS(buf,'');
    WriteS(buf,msg);
    SendPacketStr(buf,MyID,False);
  end;
end;
При отправки данной процедуры я получаю ошибку вместе с сообщением и плагин завершается..
В чём может быть проблема?
Код:
// Процедура OnLoad устанавливает:
MyID:=ConnectInfo.ConnectID;

Последний раз редактировалось Denever, 04.02.2012 в 18:10.
Denever вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Основные форумы > Программинг



Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 18:29.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!