Einzelnen Beitrag anzeigen

Benutzerbild von Deep-Sea
Deep-Sea

Registriert seit: 17. Jan 2007
907 Beiträge
 
Delphi XE2 Professional
 
#20

AW: Problem bei Speichen von Filestream

  Alt 24. Jan 2011, 08:08
Es ergibt sich für mich jedoch nicht, was der Unterschied ist, wenn man in der Klasse 39 mal fast das selbe schreibt [...] oder ob ich dann in meinem Formular 39 mal steht [...]
  1. Siehe sx2008's Post
  2. Willst du die Schreib- bzw. Lesefunktion ändern, z.B. weil du einen Fehler entdeckt hast oder weil du noch andere Informationen speichern willst oder weil du ein anderes Format nutzen willst ... so musst du es nur ein einziges mal an einer Stelle ändern und nicht 39 mal

Ich will doch nur sowas verwirklichen
Form2.Edit1.Text :=Typ.readstringfromStream(SStream,Typ.GibName);
Dann musst du keine procedure nutzen, sondern eine function:
Delphi-Quellcode:
function TEinheittyp.ReadStringFromStream(stream : TFilestream): String;
var
  len: integer;
begin
  stream.ReadBuffer(Len, SizeOf(Len));
  Setlength(Result, Len); // Die interne Variable Result ist der Schlüssel: Sie enthält den Rückgabewert ...
  stream.ReadBuffer(PChar(Result)^, Len);
end;
Was du allerdings mit dem "Typ.GibName" machen willst, weiß ich jetzt nicht ...

Const bewirkt eben genau das: Der Parameter wird zu einer Konstanten und kann somit nicht geändert werden. Darum auch der Fehler, weil du versuchst, Daten darin einzulesen. Wenn du es auf die Weise machen möchtest, müsstest du var oder out nutzen.
Chris
Die Erfahrung ist ein strenger Schulmeister: Sie prüft uns, bevor sie uns lehrt.

Geändert von Deep-Sea (24. Jan 2011 um 10:02 Uhr) Grund: Rechtschreibfehler
  Mit Zitat antworten Zitat