hey leute;)
ich hab mein problem schon in einem andren forum geposted aber bisher keine antwort erhalten, dehsalb dachte ich, ich versuch mal bei euch mein glück:P
mein client soll 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-Quelltext
1: 2: 3: 4: 5: 6:
| procedure TForm1.IdTCPServer1Execute(AContext: TIdContext); var begin AContext.Connection.IOHandler.ReadBytes(Buf, Sizeof(TClientFiles)); BytesToRaw(Buf, ClientFiles, Sizeof(TClientFiles)); end; |
client:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27:
| 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:P
bbBowser