AGB  ·  Datenschutz  ·  Impressum  







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

Fehler in DBRichEdit beim Ereignis OnSetText?

Ein Thema von Papaschlumpf73 · begonnen am 4. Jul 2022 · letzter Beitrag vom 4. Jul 2022
Antwort Antwort
Seite 1 von 2  1 2      
Papaschlumpf73

Registriert seit: 3. Mär 2014
Ort: Berlin
435 Beiträge
 
Delphi 12 Athens
 
#1

Fehler in DBRichEdit beim Ereignis OnSetText?

  Alt 4. Jul 2022, 12:48
Bei den DB-Feldern TWideStringField und TWideMemoField nutze ich das Ereignis OnSetText um die Eingabe der Anwender zu überprüfen - z.B. den verwendeten Zeichensatz. Wenn ich den Text in einer DBRichEdit-Komponente ändere, wird bei OnSetText als Text nur (WIDEMEMO) übergeben. Ändere ich den Text für dasselbe WideMemo-Feld in einer DBMemo-Komponente, enthält Text bei OnSetText den vollständigen Text. So kann ich OnSetText i.V.m. DBRichEdit-Komponenten nicht benutzen und müsste das überall im Code separat machen und bei neuen DBRichEdit-Feldern auch wieder dran denken.

Macht das irgendeinen Sinn oder kann mir jemand das (Fehl)-Verhalten bestätigen?
  Mit Zitat antworten Zitat
Papaschlumpf73

Registriert seit: 3. Mär 2014
Ort: Berlin
435 Beiträge
 
Delphi 12 Athens
 
#2

AW: Fehler in DBRichEdit beim Ereignis OnSetText?

  Alt 4. Jul 2022, 13:40
Ich nehme alles zurück und behaupte das Gegenteil: Bei DBRichEdit scheint das OnSetText-Ereignis überhaupt nicht ausgelöst zu werden, wenn der Text geändert wurde. Auch blöd... Bei DBMemo wird es ausgelöst.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.062 Beiträge
 
Delphi 12 Athens
 
#3

AW: Fehler in DBRichEdit beim Ereignis OnSetText?

  Alt 4. Jul 2022, 13:52
nutze ich das Ereignis OnSetText um die Eingabe der Anwender zu überprüfen
OnValidate





OnSetText wird nur bei Text/SetEditText aufgerufen.
Direkt SetText/SetWideText, AsString/SetAsString, SetData uvm. aufgerufen, triggert kein OnSetText.

OnSetText/OnGetText ist mehr für EditText/DisplayText da, um z.B. Ansicht von/zu einem internen Wert umzurechnen.


OnChange/OnValidate/... wären da wohl die passenderen Events



Natürlich kannst du auch von TWideMemoField ableiten und eine/mehrere der vielen anderen Events/Methoden überschreiben und dich somit auch da reinhängen, was da RichEdit nutzen tut.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu ( 4. Jul 2022 um 14:07 Uhr)
  Mit Zitat antworten Zitat
Papaschlumpf73

Registriert seit: 3. Mär 2014
Ort: Berlin
435 Beiträge
 
Delphi 12 Athens
 
#4

AW: Fehler in DBRichEdit beim Ereignis OnSetText?

  Alt 4. Jul 2022, 14:30
Mich hatte vor allem gewundert, dass DBMemo das Ereignis wirft und DBRichEdit eben nicht.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.452 Beiträge
 
Delphi 12 Athens
 
#5

AW: Fehler in DBRichEdit beim Ereignis OnSetText?

  Alt 4. Jul 2022, 14:42
Mich hatte vor allem gewundert, dass DBMemo das Ereignis wirft und DBRichEdit eben nicht.
Das ist ein offenbar bisher unerkannter Bug und eines QP-Eintrags würdig. Der Fehler liegt in der Zuweisung auf AsString anstatt Text in der Methode UpdateData von TDBRichEdit.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Papaschlumpf73

Registriert seit: 3. Mär 2014
Ort: Berlin
435 Beiträge
 
Delphi 12 Athens
 
#6

AW: Fehler in DBRichEdit beim Ereignis OnSetText?

  Alt 4. Jul 2022, 14:44
Wie kann ich das bei Emba melden? Bei den zig Seiten sehe ich nicht mehr durch.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.452 Beiträge
 
Delphi 12 Athens
 
#7

AW: Fehler in DBRichEdit beim Ereignis OnSetText?

  Alt 4. Jul 2022, 14:54
Wie kann ich das bei Emba melden?
https://quality.embarcadero.com/
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Papaschlumpf73

Registriert seit: 3. Mär 2014
Ort: Berlin
435 Beiträge
 
Delphi 12 Athens
 
#8

AW: Fehler in DBRichEdit beim Ereignis OnSetText?

  Alt 4. Jul 2022, 15:31
Danke! Und schon erledigt...
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.062 Beiträge
 
Delphi 12 Athens
 
#9

AW: Fehler in DBRichEdit beim Ereignis OnSetText?

  Alt 4. Jul 2022, 16:02
Es kommt auch drauf an, ob man das RTF-Geraffel als "Text" ansieht.

Per se ist .AsString ja erstmal nicht falsch,
auch wenn im Falle dieser Komponente .Text wohl passender wäre.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu ( 4. Jul 2022 um 16:17 Uhr)
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.006 Beiträge
 
Delphi 2009 Professional
 
#10

AW: Fehler in DBRichEdit beim Ereignis OnSetText?

  Alt 4. Jul 2022, 16:11
Es kommt auch drauf an, ob man das RTF-Geraffel als "Text" ansieht.

Per se ist .AsString ja erstmal nicht falsch,
auch wenn in Fall dieser Komponente .Text wohl passender wäre.
RTF kann durchaus auch Binärdaten enthalten, das ist in der Spezifikation ( \bin keyword ) vorgesehen und auch in der Praxis mir schon begegnet.
Richtig wäre es daher, RTF immer als Binärdatentyp zu verarbeiten.
Michael Justin
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 06:09 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