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