AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Richedit - OnLoad-Event

Ein Thema von DerAndereMicha · begonnen am 17. Dez 2008 · letzter Beitrag vom 19. Dez 2008
Antwort Antwort
Benutzerbild von DerAndereMicha
DerAndereMicha

Registriert seit: 1. Jul 2004
Ort: Berlin
208 Beiträge
 
Delphi 2007 Enterprise
 
#1

Richedit - OnLoad-Event

  Alt 17. Dez 2008, 16:20
Hallo,

hat jemand von Euch ne Idee, wie ich den aktuellen Status beim "Text in ein RichEdit-Control laden" herausbekomme. Sowas wie einen OnLoad-Event gibt es ja anscheinend nicht. Bei großen Dateien (mit vielen Objekten/Bildern) dauert das Laden (Parsen?) nämlich oft sehr lange und ich würde gerne in der Zwischenzeit so etwas wie einen Progressbar anzeigen.

Gruß
Micha
Der Weg ist das Ziel...
  Mit Zitat antworten Zitat
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.993 Beiträge
 
Delphi 7 Professional
 
#2

Re: Richedit - OnLoad-Event

  Alt 17. Dez 2008, 21:35
Moin, Moin,
so ein Event habe ich heute (!) auch verzweifelt gesucht. Brauche das, um direkt nach dem Laden eines Textes das Lineal (d.h. die Texteinrückungen) an den neuen Text anzupassen. Während der Programmlaufzeit nutze ich jetzt OnResizeRequest(). Beim Programmstart hat das bisher nicht funktioniert. Jetzt Lade ich den ersten Text in einem eigenen OnAfterShow() - damit wird nun auch in diesem speziellen Fall die Linieal-Formatierung durch OnResizeRequest() korrekt durchgeführt.
Vielleicht kannst du dieses Event in deinem Fall ja auch nutzen ....
Ralph
  Mit Zitat antworten Zitat
API

Registriert seit: 18. Apr 2004
637 Beiträge
 
#3

Re: Richedit - OnLoad-Event

  Alt 17. Dez 2008, 22:55
Vielleicht so: http://www.delphipages.com/threads/t...08022&G=107955
  Mit Zitat antworten Zitat
Benutzerbild von DerAndereMicha
DerAndereMicha

Registriert seit: 1. Jul 2004
Ort: Berlin
208 Beiträge
 
Delphi 2007 Enterprise
 
#4

Re: Richedit - OnLoad-Event

  Alt 18. Dez 2008, 08:52
Ersteinmal vielen Dank Euch beiden.

@taaktaak: Ein Event danach nutzt mir leider nichts, ich möchte ja einen Fortschrittbalken während des Ladens anzeigen.

@API: Das ist schon mal ein super Ansatz, aber leider macht das Ganze nicht so ganz das was ich möchte. Es zeigt nur den Progress des eigentlichen Stream-Ladens an, das funktioniert aber perfekt!

Bei mir scheint aber die Masse der Zeit zu vergehen, während der bereits geladene Roh-Text geparst wird - denke ich zumindest. Sofern nur normaler Text im RTF-Dokument steht ist alles OK, sobald aber OLE-Objekte in den Dokumenten (Dateigröße nur ca. 200 kB) vorhanden sind, dauert der Aufbau der Anzeige nach dem Laden ewig.

Gruß
Micha
Der Weg ist das Ziel...
  Mit Zitat antworten Zitat
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.993 Beiträge
 
Delphi 7 Professional
 
#5

Re: Richedit - OnLoad-Event

  Alt 18. Dez 2008, 13:09
Moin, Moin.
Also, du möchtest während des Lade- und Parsevorgangs eine Fortschrittsanzeige darstellen. Du kennst damit exakt den Anfangs- und Endzeitpunkt, da du 1. das Laden des Textes durch einen Aufruf initiierst und 2. das Parsen ausserhalb des RichEditControls mit eigenem Code durchführst. Warum lässt du die Fortschrittsanzeige nicht durch einen Thread darstellen, der zum Anfangszeitpunkt gestartet und mit Beeendigung des Parsens gestoppt wird?
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von DerAndereMicha
DerAndereMicha

Registriert seit: 1. Jul 2004
Ort: Berlin
208 Beiträge
 
Delphi 2007 Enterprise
 
#6

Re: Richedit - OnLoad-Event

  Alt 18. Dez 2008, 16:47
Dann hab ich aber nur nen Balken, der sich bewegt; allerdings keinen der am Anfang bei 0% und am Ende auch wirklich bei 100% ist.

Aber ich denke ich werde es wohl so machen müssen...

Gruß
Micha
Der Weg ist das Ziel...
  Mit Zitat antworten Zitat
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.993 Beiträge
 
Delphi 7 Professional
 
#7

Re: Richedit - OnLoad-Event

  Alt 18. Dez 2008, 19:39
Zitat:
allerdings keinen der am Anfang bei 0% und am Ende auch wirklich bei 100% ist
Warum nicht? Du musst doch ledilich ein Fortschrittskriterium definieren. Nehme z.B. die Dateigröße (was ja irgendwie naheliegend ist) Da seigentliche Laden ist nch deiner Beobachtung sehr schnell und kann vermutlich außer Acht gelassen werden. Bleibt also das Parsen: Dort ist die augenblickliche Position innerhalb der Dateigröße dein aktueller Fortschritt den du anzeigen kannst. Damit ist die Nutzung des Thread dann eigentlich überflüssig, oder?.
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von DerAndereMicha
DerAndereMicha

Registriert seit: 1. Jul 2004
Ort: Berlin
208 Beiträge
 
Delphi 2007 Enterprise
 
#8

Re: Richedit - OnLoad-Event

  Alt 19. Dez 2008, 07:10
Ich weiß aber nicht an welcher Stelle "er" gerade beim parsen ist. Das macht doch das Richedit selbst und das hat, wie schon gesagt, keinen geeigneten Event dafür. Genau hier liegt doch mein Problem.

Gruß
Micha
Der Weg ist das Ziel...
  Mit Zitat antworten Zitat
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.993 Beiträge
 
Delphi 7 Professional
 
#9

Re: Richedit - OnLoad-Event

  Alt 19. Dez 2008, 08:47
Ok, das mit dem Parsen habe ich falsch interpretiert. Aber ist denn jetzt nicht doch wieder OnResizeRequest() das richtige Event? Das dürfte doch erst ausgelöst werden, wenn das Richedit den Text komplett darstellen kann - oder?
Ralph
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:12 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz