Threadからformに貼り付けられたTIdTCPClientを操作しようとしたのですが
constructor TThread.Create(client:tidtcpclient);
begin
idtcpclient:=client;
FreeOnTerminate := true;
inherited create(false);
end;
procedure TThread.Execute;
var
ServerMessage:string;
begin
if not idtcpclient.Connected then exit;
servermessage:=tidtcpclient.readln('',5);
end;
servermessage:=tidtcpclient.readln('',5);の部分で
「このメソッドの呼び方はクラスメソッドの場合に限られます」と出てコンパイルできません。
Threadを使ってTIdTCPClientに仕事をさせるにはどうすればいいのでしょうか?
DisconnectするまでずっとConnectしっぱなしなのでThreadでTIdTCPClientの接続を維持する方法があれば合わせてお教えください。
宜しくお願い致します。
>servermessage:=tidtcpclient.readln('',5);
tidtcpclient.readln('',5); でなくて
idtcpclient.readln('',5); では?
ちゃん様
ご指摘の通りでした。有難う御座いました。
半日気付かずにソースを睨み付けてましたorz
お騒がせしました。
ツイート | ![]() |