AGB  ·  Datenschutz  ·  Impressum  







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

Komisches RichEdit/Memo OnChange-Verhalten...

Ein Thema von Assertor · begonnen am 25. Jun 2007 · letzter Beitrag vom 26. Jun 2007
Antwort Antwort
Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#1

Komisches RichEdit/Memo OnChange-Verhalten...

  Alt 25. Jun 2007, 16:14
Hallo DPler,

mal wieder ein Problem. Ich nutze ein TRichEdit (eigentlich TTntRichEdit). Ich lade Daten in und aus dem RichEdit per NameRichEdit.Text.

Wenn ich nun das RichEdit auf ein TabSheet packe und der Benutzer zum ersten Mal auf das Tabsheet wechselt, wird das OnChange des RichEdit getriggert.

Unabhängig von den Eigenschaften "wordwrap" (ist false, sonst wäre es ja fast klar warum), "PlainText" etc. Auch das Laden der einzelnen Lines brachte keine Änderung. Ich las nun bei Qt vom merkwürdigen RichEdit/Memo-OnChange verhalten.

Weiß hier einer Abhilfe oder kennt das Problem?

Gruß winkel79
Frederik
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Komisches RichEdit/Memo OnChange-Verhalten...

  Alt 25. Jun 2007, 17:41
Hallo,

isoliere das Problem: Nimm ein leeres Projekt, ziehe ein PageControl darauf und verpasse diesem zwei Seiten. Auf die erste Seite packe ein RichEdit, auf die zweite ein Memo. An das Ereignis OnChange() der beiden Komponenten hängst du diesen Code:

Delphi-Quellcode:
procedure TDemoForm.Change(Sender: TObject);
begin
  with Sender as TComponent do
    ShowMessage(Name);
end;
Tritt der Fehler auf, dann stelle das Demo-Projekt zur Verfügung. Wenn der Fehler verschwunden ist, dann liegt es an deinem eigenen Code.

Grüße vom marabu
  Mit Zitat antworten Zitat
Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#3

Re: Komisches RichEdit/Memo OnChange-Verhalten...

  Alt 26. Jun 2007, 12:39
Hi marabu!

Zitat von marabu:
isoliere das Problem: Nimm ein leeres Projekt [...]. Tritt der Fehler auf, dann stelle das Demo-Projekt zur Verfügung. Wenn der Fehler verschwunden ist, dann liegt es an deinem eigenen Code.
Manchmal kommt man nicht auf die einfachsten Lösungen. Ich konnte auf diese Art den Fehler vollständig isolieren.

Es liegt weder an meinem Code, noch an den RichEdits. Es liegt an Delphi. Mist...

Ich beobachte schon zum zweiten Mal erhebliche Probleme, mit Nested Forms (Forms, die als Parent ein Panel auf dem MainForm zugewiesen haben).

Ich mache jetzt hierzu einen neuen Thread auf.

Gruß und Danke für die Hilfe
winkel79
Frederik
  Mit Zitat antworten Zitat
messie

Registriert seit: 2. Mär 2005
Ort: Göttingen
1.592 Beiträge
 
Delphi 2009 Professional
 
#4

Re: Komisches RichEdit/Memo OnChange-Verhalten...

  Alt 26. Jun 2007, 14:41
Vielleicht liegt es doch an dem Control. Ich habe das mal nachvollzogen: Das TntRichEdit löst das OnChange dann aus, wenn Wordwrap auf false steht.
Vermutlich liegt es daran
Delphi-Quellcode:
procedure TTntCustomRichEdit.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
if WordWrap then
  Params.Style := Params.Style and not WS_HSCROLL; // more compatible with RichEdit 1.0
end;
Eigentlich kommt mir das unabhängig von Deinen weiteren Beobachtungen und dem anderen Thread auch logisch vor, denn bei WordWrap = false muß ja auch das Element möglicherweise neu gezeichnet werden (Scrollbalken etc.)

Grüße, Messie
  Mit Zitat antworten Zitat
Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#5

Re: Komisches RichEdit/Memo OnChange-Verhalten...

  Alt 26. Jun 2007, 14:57
Hi messie,

ich habe mir auch gerade die TntRichEdits und die VCL RichEdit.pas angesehen.

Das Problem besteht aber auch bei einem normalen TRichEdit mit/ohne WordWrap und einem TntRichEdit mit/ohne WordWrap...
Frederik
  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 12:00 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