Zitat von
himitsu:
Zitat von
Muetze1:
Zitat aus der EnhancedStreams.pas aus meiner XMLLib, welche genau das hier gesuchte implementieren (mit Dank an Herrn Dobrushin):
...
Bliebe jetzt nur noch die Frage, ob die Konstanten da genauso heißen und ob der Inhalt (Parameter) paßt.
> SFCreateErrorEx
> SFOpenErrorEx
Nein und nein, da die Ex Strings erst später definiert wurden. Die ohne Ex hingegen funktionieren auf allen Delphi Versionen. Alternativ nachdefinieren bei Delphi vor 6.
Delphi-Quellcode:
{ TUnicodeFileStream }
Constructor TUnicodeFileStream.Create(Const FileName: WideString; Const AMode: Word);
Var
CreateHandle: Integer;
Begin
If ( AMode = fmCreate ) Then
Begin
CreateHandle := WideFileCreate(FileName);
If ( CreateHandle < 0 ) Then
Raise EFCreateError.CreateResFmt(PResStringRec(@SFCreateError), [FileName]);
End
Else
Begin
CreateHandle := WideFileOpen(FileName, AMode);
If ( CreateHandle < 0 ) Then
Raise EFOpenError.CreateResFmt(PResStringRec(@SFOpenError), [FileName]);
End;
Inherited Create(CreateHandle);
End;