Einzelnen Beitrag anzeigen

night

Registriert seit: 23. Jun 2006
22 Beiträge
 
Turbo Delphi für Win32
 
#1

Dateisenden per TSocketServer/Client

  Alt 28. Jul 2007, 13:50
Hi, ich veruche eine einfache Datei zu versenden,per TSocketserver/Client. Ich habs auch schon mit den Indys versucht, aber da läuft gar nichts. Selbst bei den Demos kommen viele Fehlermeldungen ... dann habe ichs so versucht:

http://www.dsdt.info/tutorials/winsocket/?page=4

Das Sendtext hat wunderbar funktioniert. Leider geht das mit dem Record nicht so. Ich habe auch hier schon ein paar Lösungswege gefunden, doch leider lief das alles nicht .

Mein Record:

Delphi-Quellcode:

  TSendDatei = record
    FName: String[20];
    Datei: TMemoryStream;
Server
Delphi-Quellcode:
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
var Data: TSendDatei;
begin
  Data.Datei.Create;
  Socket.ReceiveBuf(Data,Sizeof(Data));
  Caption := Data.FName;
  Data.Datei.SaveToFile(Data.FName);
  Data.Datei.Free;
end;
Client
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var Data: TSendDatei;
begin
  if Opendialog1.Execute then
  begin
    Data.Datei := TMemorystream.Create;
    Data.Datei.LoadFromFile(Opendialog1.FileName);
    Data.FName := Opendialog1.FileName;
    ClientSocket1.Open;
    ClientSocket1.Socket.SendBuf(Data,Sizeof(Data));
    ClientSocket1.Close;
    Data.Datei.Free;
  end;
end;
Es passiert gar nichts. Nichtmal die Caption wird verändert!
Ich hoffe ihr könnt mir weiter helfen.

Mfg night
  Mit Zitat antworten Zitat