Próbuje przekazać tekst bez formatowania z TStringList do RichEdit :
- Kod: Zaznacz cały
void __fastcall TStringList_To_RichEdit(TStringList *List,TRichEdit *s)
{
s->Visible=false;
TMemoryStream *X = new TMemoryStream;
X->Position = 0;
List->SaveToStream(X);
X->Position = 0;
s->Lines->LoadFromStream(X);
delete X;
s->Visible=true;
};
{
podobną f-cje zdefiniowałem w drugą strone tj z RichEdit do TStringList i tam wszystko jest OK.
Przy pomocy tej fcji w pewnych liniach RichEdit pojawiają się znaki NULL chociaż wcale niebyły wpisywane do TStringList
co uniemożliwia powtórne przeniesienie tekstu do TStringList, poprostu tekst sie urywa na pierwszym napotkanym NULL-u.
Oczywiscie jest możliwość użycia prostego s->Lines = List; ale w tym wypadku trwa to zdecydowanie za długo, średnio jest do
przepisania 50-100k linii.Próbowałem także włączać/wyłączać PlainText w RichEdit, bez żadnego rezultatu.
Mam nadzieje, że ktoś wie jak rozwiązać ten problem.
Pozdrawiam




Add("Text") 20tyś razy , przepisuje i znak null pojawia się w RichEdit w któreś tam linii. Jeżeli byłoby jak mówisz dotyczyłoby to każdej z linii tekstu. I nie chodzi o sposób wyświetlania to nie jest tu istotne . Przekazanie TStringList->RichEdit a następnie RichEdit->TStringList nie spełnia swojej funkcji bo w pierwszym przekazaniu wystepują błędy.