Thema: Delphi TMemoryStream + Unicode

Einzelnen Beitrag anzeigen

skyware

Registriert seit: 11. Dez 2002
Ort: Wetzikon, Zürich
151 Beiträge
 
Delphi 6 Enterprise
 
#1

TMemoryStream + Unicode

  Alt 1. Sep 2005, 04:54
Hallo zusammen,

ich bin daran meine Applikation auf Unicode Unterstützung umzubauen, und jetzt
hab ich noch ein kleines Problemchen

Es geht um den TMemoryStream...hier 2 Prozeduren die noch sehr unschön sind.
Und zwar möcht ich eigentlich einen Unicode String (THTString = type of widestring)
in ein MemoryStream (THTMemoryStream = class(TMemoryStream) schreiben.
Da ich bisher keine Lösung dafür gefunden habe bin ich über ein temporäres
File gegangen. Sprich ich habe den Unicode String schnell in ein File geschrieben und ihn
dann wieder so geladen.

Kann jemand eine elegantere Lösung???

Delphi-Quellcode:
{ THTMemoryStream.SetData:
-------------------------------------------------------------------------------}

procedure THTMemoryStream.SetData(const AData: THTString);
var
  xStringList : THTStringList;
  xFilename : THTString;
begin
  xFilename := GHTObjectList_ApplicationList.PathTemp + getGUIID + cFIELNAME_EXTENSION_XML;

  xStringList := THTStringList.Create;
  try
    xStringList.Text := AData;
    xStringList.SaveToFile(xFilename);
    LoadFromFile(xFilename);
    HTDeleteFile(xFilename);
  finally
    HTFreeAndNil(xStringList);
  end;
end;

{ THTMemoryStream.GetData:
-------------------------------------------------------------------------------}

function THTMemoryStream.GetData: THTString;
var
  xStringList : THTStringList;
  xFilename : THTString;
begin
  xFilename := GHTObjectList_ApplicationList.PathTemp + getGUIID + cFIELNAME_EXTENSION_XML;

  xStringList := THTStringList.Create;
  try
    SaveToFile(xFilename);
    xStringList.LoadFromFile(xFilename);
    HTDeleteFile(xFilename);
    Result := xStringList.Text;
  finally
    HTFreeAndNil(xStringList);
  end;
end;
Gruss und Danke im voraus,
Markus
  Mit Zitat antworten Zitat