Показать сообщение отдельно
  #7  
Старый 02.07.2011, 18:44
Kingcss Kingcss вне форума
Начинающий
 
Регистрация: 20.12.2010
Адрес: Иваново
Сообщения: 100
Версия Delphi: Delphi 7
Репутация: 519
По умолчанию

тогда уж все на сокетах будет, щас пытался сделать передачу файла и выдает ошибку((
Сервер(он отправляет):
PHP код:
procedure TForm1.GrabWindow;
var
DeskTCanvas;
GrabImage:TImage;
msTMemoryStream;
begin
Desk
:= TCanvas.Create;
Desk.Handle:=GetWindowDC(GetDesktopWindow);
GrabImage.Width:=Screen.Width;
GrabImage.Height:=Screen.Height;
GrabImage.Canvas.CopyRect(Rect(00Screen.WidthScreen.Height),Desk,Rect(00Screen.WidthScreen.Height));
Desk.Free;
ms:=TMemoryStream.Create;
  try
GrabImage.Picture.Bitmap.SaveToStream(ms);
ms.Position:=0;
ServerSocket1.Socket.SendText(IntToStr(ms.Size) + #0);
ServerSocket1.Socket.SendStream(ms);
except
ms
.Free;
end;
end
и код клиента(он получает):
PHP код:
procedure TForm1.csRead(SenderTObjectSocketTCustomWinSocket);
var
s,sl:string;
begin
i
:=cs.Socket.ReceiveText;
if 
i='sendscreenshot' then
begin
    s
:=cs.Socket.ReceiveText;
    
SetLength(slStrLen(PChar(s))+1); 
    
StrLCopy(@sl[1], PChar(s), Length(sl)-1);
    
DataSize:= StrToInt(sl);
    
Data:= TMemoryStream.Create;
    
Delete(s1Length(sl));
  try
    
Data.write(s[1], length(s));
    if 
Data.Size DataSize then
    begin
      Data
.Position:= 0;
      
Image1.Picture.Bitmap.LoadFromStream(Data);
      
Data.Free;
    
end;
  
except
    Data
.Free;
  
end;
end;
end
выдает ошибку, + щас начал не с того не с сего выдавать ошибку на GrabImage.Width:=Screen.Width;
Ответить с цитированием