PDA

Просмотр полной версии : не заносит данные в форму


dyh9l
02.12.2010, 23:38
Вобщем заношу данные так:
if FromServer and (ConnectName=namemain) and (pck[1]+pck[22]=#$0F#$6F) then
begin
say('s4itali');
s := ReadS(6);
s := copy(s,27,2);
Edit2.Text := 'y '+name+' '+s+' очков';
end;
Убиваю клиент так:
if pck='' then exit;
if FromClient and (pck[1]=#$09) and (ConnectName=name1) then begin
pck:='';
NoCloseServerAfterClientDisconnect;
NoCloseClientAfterServerDisconnect;
buf:=#$7E;
SendToClientex(name1);
end;

Вобщем когда чар находится без убитых клиентов (тоесть паралельных соединений в пх) в форму заносится все нормально. А как появляеся соединение в котором я убиваю клиент, то уже все, в форму не заносятся данные, что делать?

Добавлено через 49 минут
отправка сообщений через процедуру клиенту тоже не работает, убрал соединение заработало сразу

Добавлено через 2 часа 3 минуты
up)

NLObP
03.12.2010, 01:15
dyh9l, посмотри здесь (http://coderx.ru/showpost.php?p=37024&postcount=23), здесь (http://coderx.ru/showpost.php?p=3637&postcount=17), здесь (http://coderx.ru/showpost.php?p=3703&postcount=20), короче в поиск.
PS: Посмотри как я делал в рыбалке. Там только после дисконекта клиента чар не мог ходить (пакетов движения от клиента небыло), а рыбу ловить без клиента мог.

Breadfan
03.12.2010, 01:22
мне интересно, как люди должны выискивать "ачеготамнетак" имея в наличии только кусок, в которым ты клиент убиваешь и вывод в форму? остальное типа - не надо? может у тебя оно в какое-то другое условие вложено, ты предлагаешь телепатически анализировать? Хоть простейшее описание дать - тож лень совсем уже? Типа - гадайте?

dyh9l
03.12.2010, 01:27
const
namemain = 'BogonpoBog4ik';
name1 = 'BaltazaR';
name2 = 'rweewr';
name3 = 'erwerwer';
name4 = 'rwewrerwe';
var
Main : TForm;
Label1,Label2 : TLabel; //текст
Button,Button2,Button3,Button4,Button5,Button6,But ton7,Button8,Button9,Button10,Button11 : TButton;
OIDtwink1,OIDtwink2,OIDtwink3,OIDtwink4:integer;
OIDmanager1,OIDmanager2,OIDmanager3,OIDmanager4,Te stOID:integer;
Edit2 : TEdit;
Reg : TTimer;
s,Name : string;

procedure Centr1;
begin
buf:=#$01;
WriteD(-14344+Rand(10,70));
WriteD(123703+Rand(10,70));
WriteD(-3112);
SendToServerEx(name1);
end;

procedure Centr2;
begin
buf:=#$01;
WriteD(-14344+Rand(10,70));
WriteD(123703+Rand(10,70));
WriteD(-3112);
SendToServerEx(name2);
end;

procedure Centr3;
begin
buf:=#$01;
WriteD(-14344+Rand(10,70));
WriteD(123703+Rand(10,70));
WriteD(-3112);
SendToServerEx(name3);
end;

procedure Centr4;
begin
buf:=#$01;
WriteD(-14344+Rand(10,70));
WriteD(123703+Rand(10,70));
WriteD(-3112);
SendToServerEx(name4);
end;

procedure Centrall;
begin
buf:=#$01;
WriteD(-14344+Rand(10,70));
WriteD(123703+Rand(10,70));
WriteD(-3112);
SendToServerEx(name1);
SendToServerEx(name2);
SendToServerEx(name3);
SendToServerEx(name4);
end;

procedure Stolb1;
begin
buf:=#$01;
WriteD(-15053+Rand(10,70));
WriteD(122130+Rand(10,70));
WriteD(-3064);
SendToServerEx(name1);
end;
procedure Stolb2;
begin
buf:=#$01;
WriteD(-15053+Rand(10,70));
WriteD(122130+Rand(10,70));
WriteD(-3064);
SendToServerEx(name2);
end;
procedure Stolb3;
begin
buf:=#$01;
WriteD(-15053+Rand(10,70));
WriteD(122130+Rand(10,70));
WriteD(-3064);
SendToServerEx(name3);
end;
procedure Stolb4;
begin
buf:=#$01;
WriteD(-15053+Rand(10,70));
WriteD(122130+Rand(10,70));
WriteD(-3064);
SendToServerEx(name4);
end;
procedure Stolball;
begin
buf:=#$01;
WriteD(-15053+Rand(10,70));
WriteD(122130+Rand(10,70));
WriteD(-3064);
SendToServerEx(name1);
SendToServerEx(name2);
SendToServerEx(name3);
SendToServerEx(name4);
end;



procedure ButtonClick2(Sender : TButton);
begin
buf:=Hstr('09');
SendToServerex(name1);
SendToServerex(name2);
SendToServerex(name3);
SendToServerex(name4);
end;

procedure Free;
begin
Main.Free;
end;
/////////////////////////////////////////////
//////////////Функция рандома////////////////
/////////////////////////////////////////////
function Rand(min,max:integer): integer;
var
i: extended;
begin
i:=Random;
result:=min+int((max-min)*i);
end;
/////////////////////////////////////////////
/////////////////////SAY/////////////////////
/////////////////////////////////////////////
procedure Say(msg:string);
begin
buf:=#$4A;
WriteD(0);
WriteD(3);
WriteS('Helper');
WriteS(msg);
SendToClientEx(name1);
end;
/////////////////////////////////////////////

begin
if FromServer and (ConnectName=namemain) and (pck[1]=#$04) then
Name:=ReadS(22);
if FromServer and (ConnectName=name1) and (pck[1]=#$04) then //
OIDtwink1:=ReadD(2); //
if FromServer and (ConnectName=name2) and (pck[1]=#$04) then //------------l
OIDtwink2:=ReadD(2); //ОИД твинков-l
if FromServer and (ConnectName=name3) and (pck[1]=#$04) then //------------l
OIDtwink3:=ReadD(2); //
if FromServer and (ConnectName=name4) and (pck[1]=#$04) then //
OIDtwink4:=ReadD(2);
if FromServer and (ConnectName=name1) and (pck[1]=#$16) and (ReadD(6)=1008688) then //
OIDmanager1:=ReadD(2); //
if FromServer and (ConnectName=name2) and (pck[1]=#$16) and (ReadD(6)=1008688) then //---------------------l
OIDmanager2:=ReadD(2); //ОИД Менеджеров олимпаl
if FromServer and (ConnectName=name3) and (pck[1]=#$16) and (ReadD(6)=1008688) then //---------------------l
OIDmanager3:=ReadD(2); //
if FromServer and (ConnectName=name4) and (pck[1]=#$16) and (ReadD(6)=1008688) then //
OIDmanager4:=ReadD(2);
if FromServer and (ConnectName=namemain) and (pck[1]=#$0F) then
begin
say('s4itali');
s := ReadS(6);
s := copy(s,27,2);
Edit2.Text := 'y '+name+' '+s+' очков';
end;
if pck='' then exit;
if FromClient and (pck[1]=#$09) then begin
pck:='';
NoCloseServerAfterClientDisconnect;
NoCloseClientAfterServerDisconnect;
buf:=#$7E;
SendToClient;
end;
end.

Добавлено через 31 секунду
Форма удалена ибо не лезет)

NLObP
03.12.2010, 01:36
SendToClient;

У тебя 5 клиентов! Кому ты этой командой отправляешь?

PS: процедуры Init нет или стер?

dyh9l
03.12.2010, 01:59
У тебя 5 клиентов! Кому ты этой командой отправляешь?

PS: процедуры Init нет или стер?

Init стер, а на счет сендтуклиент) это я уже химичил всяко))) Вобщем моя "ошибка" заключалась в том, что у меня было другое ПХ, которое работало тока с первым соединением, а на все другие ему было пофиг :) извеняюсь :o