Hi,
ich habe mir eine StringList erstellt, diese Inhalte in einen MemoryStream gespeichert und direkt danach wieder geladen. Vorher ist was in der StringList vorhanden, im MemoryStream ist auch das drin, was drin sein soll, nur nach dem Laden ist die StringList leer.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| function TForm1.Param(Str: String; Param: Integer): String; var TheStrings: TStringList; TheStream: TMemoryStream; begin TheStrings:=TStringList.Create; TheStrings.Add(Stringreplace(Str,' ',#13#10,[rfreplaceall])); TheStream:=TMemoryStream.Create; TheStrings.SaveToStream(TheStream); TheStrings.LoadFromStream(TheStream); try Result:=TheStrings.Strings[Param-1]; except Application.ProcessMessages; end; TheStrings.Free; TheStream.Free; end; |
Der Sinn ist eigentlich, dass ein String wie "PARAM1 PARAM2 PARAM3" in die einzelnen Parameter unterteil wird. Dazu ersetze ich die Leertasten durch Zeilenumbrüche, Streame das da rum und müsste so am Ende die einzelnen Strings in meiner Stringliste haben. Warum habe ich das nicht?
Danke,
David
Billy Wilder, amer. Filmregisseur