Показать сообщение отдельно
Старый 09.04.2012, 14:35   #1
Новичок
 
Регистрация: 09.04.2012
Сообщений: 5
Сказал Спасибо: 0
Имеет 1 спасибку в 1 сообщении
AltairAlentus пока неопределено
По умолчанию Проблема с плагином

Я хочу переделать пару своих скриптов под плагины но конечно в программировании не очень силен, сделал простенький плагин чтоб разобраться он скомпилился но при использовании вылетает ошибка "invalid pointer operation"
вот код плагина
Код:
library plugin;

{$define RELEASE} // ??? ????????????? ? ??????? ?????????, ??? ?????? ????? ???????????????

uses

  SysUtils,
  Windows,
  dialogs,
  Classes,
  strutils,
  usharedstructs in 'usharedstructs.pas';

var
  min_ver_a: array[0..3] of Byte = ( 3,5,23,      141   );
  min_ver: LongWord absolute min_ver_a; // ??????????? ?????????????? ?????? ?????????
  ps: TPluginStruct;
  idt:integer;





function GetPluginInfo(const ver: LongWord): PChar; stdcall;
begin
  if ver<min_ver then
    Result:='???????????????? Plugin ? ????????? l2phx'+sLineBreak+
            '??? ?????? 3.5.23.141+'+sLineBreak+
            '? ??? ?????? ?????? ?????????! ?????? ?? ?????? ????????? ? ??? ????????!'
  else
    Result:='???????????????? Plugin ? ????????? l2phx'+sLineBreak+
            '??? ?????? 3.5.23.141+'+sLineBreak+
            '????????????? ?? ???????';
end;



function SetStruct(const struct: PPluginStruct): Boolean; stdcall;
begin
  ps := struct^;
  Result:=True;
end;


procedure OnLoad; stdcall;
begin

end;

procedure doskill(ids:integer);
var
buf:string;
    begin
        buf:=#$D0#$00#$57#$6F#$FF;
        ps.writeh(buf,ids);
        buf:=buf+#$01#$00;
        ps.writed(buf,idt);
        buf:=buf+#$18#$01#$A5#$A3#$00#$00;
        ps.SendPacketStr(buf,0,True);
        

 end;

procedure OnPacket(const cnt: integer; const fromServer: Boolean; const connectionname:string; var pck: string); stdcall;

begin
if not fromServer then
    case pck[1] of
    #$ce: idt:=ps.readD(pck,6);
    #$b2: if ps.reads(pck,7)='.f1' then doskill(2002);
    end;
end;



exports
  GetPluginInfo,
  OnPacket,
  OnLoad,
  SetStruct;

begin
end.
Projects.rar
AltairAlentus вне форума   Ответить с цитированием