Einzelnen Beitrag anzeigen

Klausi1305

Registriert seit: 20. Jan 2011
Ort: Leipzig
15 Beiträge
 
Turbo Delphi für Win32
 
#18

AW: Problem bei Speichen von Filestream

  Alt 23. Jan 2011, 21:07
So liebe Mitleser und Wissende...

Als erstes habe ich eure Ratschläge berücksichtigt um die "InFileStreamladen" Prozedure innerhalb der Klasse bereinigt.
1. Es ergibt sich für mich jedoch nicht, was der Unterschied ist, wenn man in der Klasse 39 mal fast das selbe schreibt
Delphi-Quellcode:
procedure TEinheitTyp.WriteStringToStream(stream:TFilestream; const data:string);

var
len : integer;
begin
len := Length(data) * SizeOf(Char);
stream.WriteBuffer(Len, SizeOf(Len));
stream.WriteBuffer(PChar(data)^, Len);
end;
oder ob ich dann in meinem Formular 39 mal steht
Einheit.WriteStringToStream(Stream,Hierkommtsrein); schreibe, wenn ich das oben geschriebene als Prozedur schreibe
Weil Ich konnte es ja bisher auch über breakpoints innerhalb der Klasse überprüfen ob was schief lief....Demzufolge spar ich mir "fast" keinen Code..Ja ich bin Anfänger

2. Die ominöse Umkehrfunktion zum Lesen des Streams in der Klasse TEinheitTyp sieht bisher wie folgt aus:
Delphi-Quellcode:
Procedure TEinheittyp.ReadStringFromStream(stream : TFilestream; Const data:String);

var
len : integer;
begin
stream.ReadBuffer(Len, SizeOf(Len));
Setlength(Data,Len);
stream.ReadBuffer(PChar(data)^, Len);
end;
1. Es kommt der Fehler "Konstantenobjekt kann nicht als Var-Parameter übergegeben werden (E2197) Dies ist eine reservierte Fehlermeldung."---Toll, danke liebe Hilfe
2. Ich will doch nur sowas verwirklichen
Form2.Edit1.Text :=Typ.readstringfromStream(SStream,Typ.GibName); 3. Was bewirke ich mit dem Const?...Ich habe sowas vorher noch nie Übergeben...Wo ist diese Konstante definiert?
Sebastian

Geändert von Klausi1305 (23. Jan 2011 um 21:11 Uhr)
  Mit Zitat antworten Zitat