Autor Beitrag
zongo-joe
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 134

win xp prof
D3, D4, D7
BeitragVerfasst: Sa 11.03.17 16:00 
Tag zusammen ich habe ein Problem, das ich auch nach WWW Suche nicht lösen kann:

ich lade mit

ausblenden Delphi-Quelltext
1:
TRicheditTEXT.lines.loadfromfile					


eine Datei aus einer mit Word erstellten RTF-Datei.

direkt danach wird der Text weiter verarbeitet, mit WordWrap = True, Ersetzen von Text usw.

Manchmal wird der Text aber nicht richtig eingeladen, da werden dann Zeilen unterbrochen, wie zB


Zitat:
Dies ist e
in Text, der in ein
er Zeile stehen soll.



Anscheinend hat die Applikation nicht genug Zeit, den Text einzuladen. Wenn ich nämlich nach dem o.g. LoadfromFile() ein  Showmessage('Text wird eingeladen') einbaue, funzioniert alles perfekt.

Habs schon mit  Processmessagesprobiert, aber dann friert die Appplikation ein (nicht immer, aber manchmal).

Gibt es eine Möglichkeit, abzuwarten, bis die komplette RTF eingeladen ist ? sleep() hilft nix, hab ich schon probiert...

Grüße und Danke schonmal,

Zongo-Joe
t.roller
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 118
Erhaltene Danke: 34



BeitragVerfasst: Sa 11.03.17 18:10 
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
procedure TForm1.ButtonClick(Sender: TObject);
begin
RichEdit1.Lines.BeginUpdate;
 if OpenTextFileDialog1.execute then
       RichEdit1.Lines.LoadFromFile(OpenTextFileDialog1.FileName);
RichEdit1.Lines.EndUpdate;
end;
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 11.03.17 18:42 
- Nachträglich durch die Entwickler-Ecke gelöscht -
zongo-joe Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 134

win xp prof
D3, D4, D7
BeitragVerfasst: Sa 11.03.17 18:48 
@ T.Roller,

das wars ! funktioniert, vielen Dank, hast mir sehr geholfen !


@ Frühlingsrolle: danke für die Antwort, aber daran lags nicht.
Delphi-Laie
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1600
Erhaltene Danke: 232


Delphi 2 - RAD-Studio 10.1 Berlin
BeitragVerfasst: Sa 11.03.17 19:19 
user profile iconzongo-joe hat folgendes geschrieben Zum zitierten Posting springen:
Anscheinend hat die Applikation nicht genug Zeit, den Text einzuladen. Wenn ich nämlich nach dem o.g. LoadfromFile() ein  Showmessage('Text wird eingeladen') einbaue, funzioniert alles perfekt.


Das ist merkwürdig, denn egal, welcher Befehl nach dem Ladebefehl kommt, er kann doch erst beginnen, wenn der vorige, also der Ladebefehl, (erfolgreich?!) abgeschlossen wurde. Das ist nunmal das Wesen des Singlethreadings, also wenn nur ein Anweisungsstrang existiert. Es ist demnach m.E. ausgeschlossen, daß während des Showmessages noch irgendetwas "nach-/hinterhergeladen" wird.

Edit: Sehe gerade, daß das Problem gelöst wurde.