![]() |
Code aus code-lib (dateien per indy...)
Hi,
dieser Code ist aus der Code-Lib benutze
Delphi-Quellcode:
dann kommt bei mir an der oben markierten Stelle die Compilermeldung: Zu viele parameter. Ich denke aber, dass das wichtig ist. Was mache ich falsch?
procedure TForm1.Button1Click(Sender: TObject);
var fs: TFileStream; begin if not OpenDialog1.Execute then exit; //erstmal besorgt man sich den Pfad der Datei, z.B. mit dem Standard Dialog TOpenDialog with IdTCPClient1 do begin fs := TFileStream.Create(OpenDialog1.FileName, fmOpenRead or fmShareDenyWrite); //Datei in FileStream einlesen Connect; //und Verbindung herstellen try OpenWriteBuffer; //stellt sicher, dass alle Daten versendet werden try WriteStream(fs, true, true, 0); <---------ZU VIELE PARAMETER (die Null ist ang. zu viel) CloseWriteBuffer; except CancelWriteBuffer; raise; end; finally Disconnect; fs.Free; end; end; end; procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread); var fs: TFileStream; SizeOfIncomingStream: integer; begin if not SaveDialog1.Execute then exit; fs := TFileStream.Create(SaveDialog1.Filename, fmCreate or fmShareExclusive); with AThread.Connection do try SizeOfIncomingStream := ReadInteger; //Größe des Streams empfangen ReadStream(fs, SizeOfIncomingStream); //und übergeben finally Disconnect; fs.Free; end; end; danke im vorraus |
Re: Code aus code-lib (dateien per indy...)
Hi,
welche Indy-Version verwendest du? :gruebel: Bei mir - aktuelle Version von der ![]() Wenn du schreibst IdTCPClient1.WriteStream, dann eine ( machst und wartest, bekommst du eine Liste von den erwarteten Parametern. Was steht denn da? Chris |
Re: Code aus code-lib (dateien per indy...)
Zitat:
Wenn du was anderes wissen wolltest... Ich glaube dann habe ich deine Frage falsch verstanden. |
Re: Code aus code-lib (dateien per indy...)
Hi,
das habe ich schon gelesen, ich wollte wissen, welche Parameter WriteStream bei deiner Indy-Version verlangt... ;) Lies dir noch mal durch, was ich geschrieben habe. *g* Chris |
Re: Code aus code-lib (dateien per indy...)
Das steht bei mir da, sobal ich den Code schreibe (als Hint)
Delphi-Quellcode:
WriteStream(AStream:TStream,[const AAll:Boolean = True, [const AWriteByteCount: Boolean = False;])
|
Re: Code aus code-lib (dateien per indy...)
Hi,
das wollte ich wissen. ;) Und jetzt grübeln wir mal: ein Parameter vom Typ TStream, einer vom Typ Boolean und einer vom Typ Integer. In deinem Source stehen aber zwei Boolean. ;) Folglich nimmst du ein true weg. ;) Aber trotzdem solltest du dir eine etwas aktuellere Version von den Indy's zulegen. *g* Chris [edit]*whoah* Was rede ich? :wall: Du nimmst einfach die 0 weg und fertig ist. :wall: Also das True da lassen. ;)[/edit] |
Re: Code aus code-lib (dateien per indy...)
Also so?
Delphi-Quellcode:
(geht auch nicht)
WriteStream(fs, true, 0);
|
Re: Code aus code-lib (dateien per indy...)
Hi,
Zitat:
Chris |
Re: Code aus code-lib (dateien per indy...)
Liste der Anhänge anzeigen (Anzahl: 1)
dann passiert das (siehe Anhang)
|
Re: Code aus code-lib (dateien per indy...)
Schon gut, ich hatte eine nicht gültige IP-Adresse angegeben! :wall:
Danke :witch: |
Re: Code aus code-lib (dateien per indy...)
Ich möchte mir aus diesem Code auch ein Prog basteln, aber ein kleiner Chat soll mit dabei sein, damit man wenigstens a bisl absprechen kann.
Brauch ich dafür jetzt einen Server und Client auf den Formen, die einen anderen Prot haben, oder kan ich das ganze über die zwei schon existierenden laufen lassen? |
Re: Code aus code-lib (dateien per indy...)
Warum solltest du dafür zwei neue Komponenten erstellen? Probier es mal aus, ob es so funktioniert. Wenn nicht, schliesst du Server/Client und öffnest eine neue Verbindung mit den Daten, die du bei den neuen Komponenten eingegeben hättest.
So würde ich das machen, wenn ich dich richtig verstaden habe! :hi: |
Re: Code aus code-lib (dateien per indy...)
Das Problem liegt beim Empfangen: Woher weiß ich, dass da gerade ein Stream reinkommt, und kein Text? (Habe das nurmal mit WinSockets gemacht, und da gabs das Problem, gibts das hier überhaupt noch?)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:09 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-2025 by Thomas Breitkreuz