我用了两个应用程序,应用程序a里面放的是idtcpclient另外一个应用程序b放idtcpserver
a应用程序的发送代码:
var abc:string;
begin
abc:=edit1.text
idtcpclient1.connect();
idtcpclient1.writebuffer(abc,sizeof(abc));
idtcpclient1.disconnect();
end;
b应用程序的接收代码
var efg:string;
begin
athread.Connection.ReadBuffer(efg,sizeof(efg));
end;
运行程序 发送的时候 在接收放会出现这样的错误
access violation at address 00403eb0 in module 'b.exe' read of address 00d53fe4
如何修改啊 大侠们 偶要崩溃了都
a应用程序的发送代码:
var abc:string;
begin
abc:=edit1.text
idtcpclient1.connect();
idtcpclient1.writebuffer(abc,sizeof(abc));
idtcpclient1.disconnect();
end;
b应用程序的接收代码
var efg:string;
begin
athread.Connection.ReadBuffer(efg,sizeof(efg));
end;
运行程序 发送的时候 在接收放会出现这样的错误
access violation at address 00403eb0 in module 'b.exe' read of address 00d53fe4
如何修改啊 大侠们 偶要崩溃了都
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, IdTCPServer, IdBaseComponent, IdComponent,
IdTCPConnection, IdTCPClient;type
TForm1 = class(TForm)
Button1: TButton;
ListBox1: TListBox;
IdTCPClient1: TIdTCPClient;
IdTCPServer1: TIdTCPServer;
procedure IdTCPServer1Execute(AThread: TIdPeerThread);
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread);
var
s:string;
begin
with AThread.Connection do
begin
s:=ReadLn();
end;
end;procedure TForm1.Button1Click(Sender: TObject);
begin
self.IdTCPClient1.Host:='192.168.168.1';
self.IdTCPClient1.Port:=5555;
try
self.IdTCPClient1.Connect(5000);
self.IdTCPClient1.Write( 'hello' );
self.IdTCPClient1.Disconnect;
except
//....
end;
end;procedure TForm1.FormCreate(Sender: TObject);
begin
self.IdTCPServer1.DefaultPort:=5555;
self.IdTCPServer1.Active:=true;
end;end.
begin
self.IdTCPClient1.Host:='192.168.168.1';
self.IdTCPClient1.Port:=5555;
try
self.IdTCPClient1.Connect(5000);
self.IdTCPClient1.WriteLn( 'hello' );//--
self.IdTCPClient1.Disconnect;
except
//....
end;
end;
s:string;
begin
s:='helloworld';
self.IdTCPClient1.WriteBuffer( s,sizeof(s) );
end;
//
procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread);
var
s:string;
begin
with AThread.Connection do
begin
ReadBuffer(s,sizeof(s));
end;
end;