Fórum Pointer Record #319243
16/04/2006
0
Estou querendo enviar do cliente para o server um Pointer
Pointer:
TTeste = ^PTeste; PTeste = record Nome: String; IP: String; ... end;
Como faço para enviar o Pointer??
Criei ele
var
Teste: TTeste;
begin
New(Teste);
Teste.Nome:= ´dsdas´;
Teste.IP:= ´0.0.0.0´;
Comando do TCPClient para enviar para o TCPServer;
end;
Alguem pode me ajudar??
Rudá
Curtir tópico
+ 0Posts
17/04/2006
Thomaz_prg
Gostei + 0
17/04/2006
Paullsoftware
...
type
PClient = ^TClient;
TClient = record
IP : string[15]; { Ip da estação na rede }
Nome : String[40]; { Nome da Estação na rede }
Aberto
...e para enviar faço
procedure TfMain.EnviaMsg; var Msg : String; SelClient : PClient; begin ... begin try SelClient := PClient(Clients.LockList.Items[lbClients.ItemIndex]); TIdPeerThread(SelClient.Thread).Connection.WriteLn(Msg); finally Clients.UnlockList; end;
será que é isso que vc quer? :wink:
Gostei + 0
17/04/2006
Rudá
Algo como write(ponteiro), usando o componente indy!
Gostei + 0
17/04/2006
Paullsoftware
no TCPServerConnect(AThread: TIdPeerThread);
.. var Posicao : Pointer; NewClient : PClient; begin GetMem(NewClient, SizeOf(TClient)); ... NewClient.IP := AThread.Connection.Socket.Binding.PeerIP; NewClient.Nome := UpperCase(GStack.WSGetHostByAddr(NewClient.IP)); Posicao := AThread;//Aqui pego o Pointer do cliente para enviar tente usar WriteBuffer assim: AThread.Connection.WriteBuffer(AThread,sizeOf(NewClient)); AThread.Data := TObject(NewClient); .... try Clients.LockList.Add(NewClient); finally Clients.UnlockList; end; ...
Gostei + 0
17/04/2006
Rudá
var
Teste: PClient;
begin
New(Teste);
NewClient.IP:= AThread.Connection.Socket.Binding.PeerIP;
NewClient.Nome:= UpperCase(GStack.WSGetHostByAddr(NewClient.IP));
AThread.Connection.WriteBuffer(Teste,sizeOf(NewClient));
Mas não vai!
Gostei + 0
17/04/2006
Rudá
Como isso podemos enviar um stream!
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)