Les platico. Tengo una función dentro de una pantalla que me DEBERÍA devolver un TStringStream con el contenido de varios campos que contienen texto enriquecido (sí, ese que va dentro de los TRichEdit's) ordenados y listos para ser añadidos a un TRichEdit en una pantalla:
delphi
. . . redtResumenEventos.Lines.Clear; redtResumenEventos.Lines.LoadFromStream(DevuelveResumenEventos(x1,x2,x3)); redtResumenEventos.Refresh; . . .
... y la función que estoy llamando es la siguiente:
delphi
function DevuelveResumenEventos(cnnBBDD : TADOConnection;sFecha,sHora,sCtrlPac : string) : TStream; var sTextoArmado : string; stCarga : TStringStream; begin with TADOTable.Create(Application.MainForm) do try sTextoArmado := ''; Connection := cnnBBDD; TableName := 'EAPC_EVENTOS'; Filter := 'EAPC_FECHA = '+sFecha+' and EAPC_HORA = '+sHora+' and EAPC_CTRL_PAC = '+sCtrlPac; Filtered := True; Open; while not Eof do begin sTextoArmado := sTextoArmado + FormatDateTime('dd-mm-yyyy', FieldValues['EAPC_FECHA_EVENTO'])+ ' '+MinutsToStr(FieldValues['EAPC_HORA_EVENTO'])+ ' ('+Trim(FieldValues['EAPC_LOGIN_USER'])+ ') - '+FieldByName('EAPC_EVENTO').AsString+CRLF+CRLF; Next; end; stCarga := TStringStream.Create(EmptyStr); with TRichEdit.Create(Application.MainForm) do begin Text := sTextoArmado; Lines.SaveToStream(stCarga); // <<--- ¡¡Ésta línea!! end; finally Close; Free; end; Result := stCarga; stCarga.Free; end;
En la línea marcada es donde me brinca el error que muestro en la imagen..., si alguien tuviese alguna idea que me ayude a solucionar éste problema, será recompensado con mi eterna gratitud, por que llevo algo así como 4 horas y no alcanzo a resolver, especialmente después de haber consultado como 10 web y dos manuales.