Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi TFileStream.Create Problem (https://www.delphipraxis.net/5669-tfilestream-create-problem.html)

Hanswurst 15. Jun 2003 13:10


TFileStream.Create Problem
 
Moin Leutz ..
bin grad dabei , ein Proggi zum Datenaustausch , auf TCP/IP basierend , zu schreiben ..
nun ist ,mein Problem , dass der gegen das TFilestream.Create was hat ..

Delphi-Quellcode:
  begin
  TCPClient.SendCmd('Download' + (edit2.Text));
  TCPClient.ReadStream(IncomingStream);
  IncomingStream:= TFileStream.Create(edit3.Text);
  IncomingStream.Write;
Meldung:
Es gibt keine überladene Version von 'Create', die man mit diesen Argumenten aufrufen kann

THX 4 Reply ..

Bis denn
CU

[Edit=Sakura]Delphi-TAGs gesetzt. Mfg.[/Edit]

Christian Seehase 15. Jun 2003 13:21

Moin Hanswurst,

was hältst Du denn mal von einem Blick in die Hilfe?

TFileStream.Create benötigt zwei Parameter. Dateiname und Zugriffsmodus.

Wobei ich mir bei Deinem Codeauschnitt eher die Meldung

Nicht genügend wirkliche Parameter

an der Stelle denken würde.

Was mir auch noch ein Rätsel ist:

Delphi-Quellcode:
 TCPClient.ReadStream(IncomingStream);
  IncomingStream:= TFileStream.Create(edit3.Text);
Wenn Du das wirklich so machst, wie es da steht, dann liest Du aus einem Stream und überschreibst anschliessend die Referenz auf diesen, so dass Du ihn nicht mehr freigeben kannst (falls Du Dir die Referenz nicht irgendwo zwischengespeichert hast).

Chewie 15. Jun 2003 13:22

Sieh mal in die Onlline-Hilfe und schau dir TFilestream.Create genau an: Du wirst sehen, dass ein zweiter Parameter notwendig ist: der Zugriffsmodus.

Hanswurst 15. Jun 2003 13:38

Moin Leutz
@ sakura
danke fürs editen ..

@Christian Seehase
1.an die hilfe hab ich noch garnet gedacht .. damn ..
2.den Codeschnipsel (den du Zitiert hast) hab ich aus nem anderen Thread ..
also .. ich kann nix dafür :lol:

@Chewie
mach ich ..

THX für euer schnelles Reply ...

Bis denn (wenn ich weiter Probleme hab *joke*
CU

Hanswurst 15. Jun 2003 14:11

Ich schon wieder , wer sonst ?? :lol:
also ..
ich hab in der Hilfe geguckt .. aber nix verstanden ...
könntet ihr mir das bitte erklären , oder meinen Codeschnipsel korrigieren ??

Ich bin doch auch nur ein Dummer Noob ..

BIs denn
CU

Duffy 15. Jun 2003 14:38

Hallo Hanswurst,
schau dir mal nachfolgenden Thread an und lade Dir das Beispiel runter. da werden die Logbucheinträge mit einem Stream in die Datei geschrieben.
http://www.delphipraxis.net/viewtopi...101&highlight=
bye

Christian Seehase 15. Jun 2003 14:42

Moin Hanswurst,

also das

Delphi-Quellcode:
TCPClient.ReadStream(IncomingStream);
  IncomingStream:= TFileStream.Create(edit3.Text);
hattest Du so nicht aus einem anderen Thread ;-)
Es gibt nur noch einen, in dem incomingstream vorkommt.

Der erste Parameter in TFileStream.Create gibt den Pfad zu der Datei an, auf die sich der Stream bezieht, und der zweite Parameter wie man denn nun diese Datei öffnen will.
Die wichtigsten Modi:

fmCreate : Neu erzeugen (Exception, falls die Datei schon existiert)
fmOpenRead : Nur zum Lesen öffnen
fmOpenWrite : Nur zum Schreiben öffnen (Wichtig: Der Dateiinhalt kann nicht geändert, sondern nur völlig neu geschrieben werden)
fmOpenReadWrite : Ändern ist möglich

Ausser bei fmCreate muss die Datei existieren.
Sinnvolle Kombinationen mit or sind möglich, z.B.

fmCreate or fmOpenWrite : Die Datei wird neu geschrieben, wobei es jetzt egal ist, ob sie schon existiert hat oder nicht.

Hanswurst 15. Jun 2003 15:07

THX an euch beide ..
mir dem Link von Duffy hab ichs fertigschreiben können .. :dancer:

und dank Christian (hee du hast meinen Namen geklaut .. :lol:) versteh ich das ganze auch .. :bounce2:

also .. ein FETTES THX an euch beide ..

nur so nebenbei ..
was bedeutet eigentlich dieser Smiley ??
:firejump:

Bis denn CU


Alle Zeitangaben in WEZ +1. Es ist jetzt 00: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-2025 by Thomas Breitkreuz