![]() |
Download Server Client ?
hallo,
möchte ganz simpel das der server eine datei den client schickt. server
Code:
client
procedure TForm1.Button1Click(Sender: TObject);
var FStream: TFileStream; begin i FStream := TFileStream.Create('c:\Windows\cookies'); ServerSocket1.Socket.SendStream(FStream); end; end;
Code:
procedure TForm1.ClientSocket1Read(Sender: TObject;
Socket: TCustomWinSocket); var FStream: TFileStream; SizeOfFile: Integer; pBuffer: Pointer; begin if SaveDialog1.Execute then begin FStream := TFileStream.Create(SaveDialog1.FileName, fmCreate or fmOpenWrite); SizeOfFile := Socket.ReceiveLength; GetMem(pBuffer, SizeOfFile); try Socket.ReceiveBuf(pBuffer^, SizeOfFile); FStream.Write(pBuffer^, SizeOfFile); finally FreeMem(pBuffer); FStream.Free; Adress.Text := 'File fertig geladen'; end; end; end; aber das funzt nicht so richtig. [Fehler] Unit1.pas(38): Es gibt keine überladene Version von 'Create', die man mit diesen Argumenten aufrufen kann mfg vader mfg vader |
Re: Download Server Client ?
schau mal unter TFilestream.create in der OH(onlineHilfe) nach.
Dort findest du den Hinweis, daß zum erstellen eines TStreams ein Parameter fehlt. beim Server müsste es statt:
Delphi-Quellcode:
eher so oder ähnlich heissen(je nachdem, was bezweckt werden soll):
FStream := TFileStream.Create('c:\Windows\cookies');
Delphi-Quellcode:
FStream := TFileStream.Create('c:\Windows\cookies',fmcreate);
|
Re: Download Server Client ?
hab das bißchen umgeschreiben,
server
Code:
rocedure TForm1.FormCreate(Sender: TObject);
begin serversocket1.active:=true; end; procedure TForm1.Button1Click(Sender: TObject); var FStream: TFileStream; begin FStream := TFileStream.Create('c:\aco.txt',fmopenread); ServerSocket1.Socket.SendStreamThenDrop(FStream); end; end. aber es passiert nichts, der speicherndialog beim client kommt nicht ? mfg vader |
Re: Download Server Client ?
zur beantwortung deiner Frage wäre der Client-Sourcecode nicht schlecht ;)
Ausserdem solltest du den Socket nicht nur auf aktiv setzen, sonder auch mal öffnen |
Re: Download Server Client ?
hallo wilder,
du schreibst: ich soll die sockets auf open setzen,ist clientsocket.active:=true; oder clientsocket.open; nicht das gleiche ??? mfg vader |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:51 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz