Input error in RichEdit
-
hi
ich fülle mein RichEdit so:RichEdit1->Lines->Insert(0, ausgabe.c_str());
das geht so auch, solange nicht zuviele einträge zu schnell hintereinander kommen...
wie kann ich diesen fehler vermeiden?
thx 4 hlp
-
Welchen Fehler?
"Geht nicht" ist keine Fehlermeldung.
-
sorry
es kommt:
Im Projekt ist eine Exception der Klasse EOutOfRange Aufgetreten. Meldung: 'Fehler bei Einfügen von RichEdit-Zeile.'
Prozess wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen.
-
Was bedeutet denn "zu schnell hintereinander", wie sieht deine Befüll-Routine aus? Ich habe hier keine Probleme, 10000 Einträge per for-Schleife unmittelbar hintereinander einzufügen.
Kann es sein, dass du einfach an das 64k-Limit des RichEdit unter Win9x stösst?
-
also des zu schnell hab ich geraten...
ich habe win2k.
es sind bei mir ca. 100 -200 einträge
kanns vielleicht sein, dass 2 oder mehr threads gleichzeitig was reinschreiben wollen?
-
Das ist wohl eher unwahrscheinlich. Poste doch mal deine Eingabe-routine. Vielleicht liegt ja dort der Fehler??
-
mustava schrieb:
kanns vielleicht sein, dass 2 oder mehr threads gleichzeitig was reinschreiben wollen?
Durchaus möglich. Da wirst du wohl vor und nach dem Schreiben ein "Besetzt"-Flag (zB. die Tag-Property des RichEdit) setzen bzw. auswerten müssen.
Eigenartigerweise lässt sich zu EOutOfRange weder in der BCB-Hilfe noch in den Borland-Newsgroups ein Eintrag finden.
-
Hallo.
Könnte es nicht sein, dass man bei TRichEdit::Lines::Insert(int,String); einen AnsiString braucht? Wieso also c_str();?