Содержание материала

 

2. Текст с исправлением:

 

Code:

 

procedure TRichEditStrings.LoadFromStream(Stream: TStream);

var

EditStream: TEditStream;

Position: Longint;

TextType: Longint;

StreamInfo: TRichEditStreamInfo;

Converter: TConversion;

begin

StreamInfo.Stream := Stream;

if FConverter <> nil then

   Converter := FConverter

else

   Converter := RichEdit.DefaultConverter.Create;

StreamInfo.Converter := Converter;

try

   with EditStream do

   begin

     dwCookie := LongInt(Pointer(@StreamInfo));

     pfnCallBack := @StreamLoad;

     dwError := 0;

   end;

   Position := Stream.Position;

   if PlainText then

     TextType := SF_TEXT

   else

     TextType := SF_RTF;

   SendMessage(RichEdit.Handle, EM_STREAMIN, TextType, Longint(@EditStream));

   if (TextType = SF_RTF) and (EditStream.dwError <> 0) then

   begin

     Stream.Position := Position;

     ! if PlainText then

       TextType := SF_TEXT

         !

       else

       TextType := SF_RTF;

 

     SendMessage(RichEdit.Handle, EM_STREAMIN, TextType, Longint(@EditStream));

     if EditStream.dwError <> 0 then

       raise EOutOfResources.Create(sRichEditLoadFail);

   end;

finally

   if FConverter = nil then

     Converter.Free;

end;

end;

 

Добавить комментарий

Не использовать не нормативную лексику.

Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.

ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!


Защитный код
Обновить