hey leute
sorry, dass ich den alten thread wieder hochhole, aber mein problem ist eng mit den sehr hilfreichen codeschnipseln von reichemi(weiter oben) verbunden.
ich habe nämlich, die genannten codezeilen verwendet um von meinem client ein record auf buttonclick zum server zu senden. nach einigem rumprobieren(bin relativ unerfahren mit
indy 10) hat das auch ganz super geklappt. wenn ich nun allerdings den button erneut betätige um ein verändertes record wieder zum server zu senden, dann zeigt der mir das erste record weiterhin unverändert an.
ich hoffe ihr versteht und jemand kann mir helfen
hier noch etwas relevanter code:
server:
Delphi-Quellcode:
procedure TForm1.IdTCPServer1Execute(AContext: TIdContext);
var
begin
AContext.Connection.IOHandler.ReadBytes(Buf, Sizeof(TClientFiles));
BytesToRaw(Buf, ClientFiles, Sizeof(TClientFiles));
end;
client:
Delphi-Quellcode:
procedure TForm1.CreateFileRecord(requestedDir: string);
var
i:integer;
begin
i:=1;
SetCurrentDir(requestedDir);
if FindFirst('*.*', faAnyFile, searchResult) = 0 then
begin
repeat
ClientFiles.name[i] := searchResult.name;
ClientFiles.size[i] := searchResult.size;
ClientFiles.attr[i] := searchResult.attr;
i:=i+1;
until FindNext(searchResult) <> 0;
FindClose(searchResult);
while i < 200 do
begin
ClientFiles.name[i] := '-';
ClientFiles.size[i] := 0;
ClientFiles.attr[i] := 0;
i:=i+1;
end;
end;
buf := RawToBytes(ClientFiles, SizeOf(TClientFiles));
IdTCPClient1.IOHandler.Write(buf);
end;
danke für eure (hoffentlich) hilfe
bbBowser