Bueno como no dejo de ser novato pues tengo un problema que no veo como arreglarlo y a lo mejor me he opcecado y no lo veo.
Es un form que lo estoy mirando por programacion y en concreto con un componente no visual el TClientSocket.
Me da error al compilar
Si inclullo el componente visualmente en el form y no defino la variable en la seccion private, entonces me funciona bien.
Pero si quito el componente ClientSocket de form1 y lo defino en la seccion private ClientSocket1: TClientSocket; entonces me da un error al compilar.
seguro que hago algo mal.
Me podeis decir que es.
Muchas gracias.
Este es el form1
Código Delphi
[-]
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Sockets, ScktComp;
type
TForm1 = class(TForm)
Button1: TButton;
Memo1: TMemo;
Button2: TButton;
procedure FormCreate(Sender: TObject);
procedure ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
ClientSocket1: TClientSocket;
public
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
ClientSocket1.ClientType := ctNonBlocking;
ClientSocket1.Name:= 'ClientSocket1';
ClientSocket1.Host := 'www.villademostoles.da.ru';
ClientSocket1.Port := 80;
ClientSocket1.OnRead:= ClientSocket1Read;
ClientSocket1.Active := True;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
with ClientSocket1.Socket do begin
SendText('GET http://www.villademostoles.da.ru HTTP/1.1'+#13#10);
SendText('Accept-Language: es'+#13#10);
SendText('Accept-Encoding: gzip, deflate'+#13#10);
SendText('User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)'+#13#10);
SendText('Host:www.villademostoles.da.ru'+#13#10);
SendText(''+#13#10);
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket);
begin
memo1.Lines.Add(ClientSocket1.Socket.ReceiveText);
end;
end.