Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.27;
Скачать: CL | DM;

Вниз

TServerSocket   Найти похожие ветки 

 
SeF ©   (2003-01-08 23:51) [0]

Здраствуйте многоуважаемые!!! Спрошедшими и наступающисми Вас праздниками!!!!

Пожалуйста подскажите.

Есть проседура:
procedure TForm1.ServerSocket1ClientConnect(Sender: TObject;
Socket: TCustomWinSocket);
var
ud:TUserData;
begin
ud:=TUserData.Create;
ud.Socket:=socket;
ud.stream:=tmemorystream.Create;
ud.Name:="connecting";
ud.ConnectedAt:=now;
socket.Data:=ud;
//это место под вопросом
end;

есть вторая:
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
var
data:Tmydata;
ud:tuserdata;
buf:pointer;
i:integer;
begin
i:=socket.ReceiveLength;
getmem(buf,i+1);
socket.ReceiveBuf(buf, i);
ud:=tuserdata(socket.Data);
ud.stream.Seek(0,soFromEnd);
//здесь вылетает с AV
ud.stream.Write(buf, i);
.....


 
igorkuz ©   (2003-01-09 17:13) [1]

Socket.Data это pointer вот и создавай PUserData = ^TUserData и т.д. Тогда все будет ОК;







 
Verg ©   (2003-01-09 17:49) [2]


> ud.stream.Seek(0,soFromEnd); //здесь вылетает с AV
> ud.stream.Write(buf, i);


Вылетает, скорее всего, строчкой ниже. Т.к. там надо
ud.stream.Write(buf ^, i);


 
SeF ©   (2003-01-09 17:51) [3]

getmem(buf,i+1);
socket.ReceiveBuf(buf, i);
ud:=tuserdata(socket.Data);
// Ud все равно nil
ud.stream.Seek(0,soFromEnd);
ud.stream.Write(buf, i);



 
Verg ©   (2003-01-09 17:52) [4]

Да и здесь тоже

socket.ReceiveBuf(buf ^, i);



Страницы: 1 вся ветка

Текущий архив: 2003.02.27;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.017 c
1-87552
Chlavik
2003-02-15 04:20
2003.02.27
TThread


9-87239
Black_Baron
2002-09-21 04:16
2003.02.27
Как установить компоненты X и GlScene в 7


14-87708
ИгорьК
2003-02-10 16:31
2003.02.27
Самый остроумный мастер


14-87624
Дмитрий К.К.
2003-02-10 06:19
2003.02.27
Именинники 10 февраля


1-87536
В режиме поиска
2003-02-13 15:18
2003.02.27
Как сделать чтобы форма плавно убиралась с экрана