![]() |
RichEdit1 Komponente von Delphi 21.0 läßt Programm abstürzen
Hallo,
ich habe eine TRichEdit Komponente auf eine TForm gelegt, und dieser dann ein OnMouseDown Event zugewiesen. wenn ich dann im laufenden Prozess die Maus im RichEdit klicke passiert nichts. Wenn ich aber nun Text eingebe, und wieder wahllos innerhalb der RichEdit Komponente klicke, stürzt die Anwendung ab. Den folgenden Code habe ich dabei als Fehlerquelle lokalisieren können:
Delphi-Quellcode:
ich verwende Windows 11 64-Bit Pro, die Anwendung ist aber 32-Bit.
procedure TForm2.RichEdit1MouseDown(
Sender: TObject; Button: TMouseButton; Shift : TShiftState; X, Y : Integer); var ClickPos: Integer; begin ClickPos := RichEdit1.Perform( EM_CHARFROMPOS, 0, MakeLong( RichEdit1.CaretPos.X, RichEdit1.CaretPos.Y)); ShowMEssage('X: ' + inttostr(clickpos)); end; |
AW: RichEdit1 Komponente von Delphi 21.0 läßt Programm abstürzen
Lösung:
- Perform weglassen - RichEdit1.SelStart verwenden |
AW: RichEdit1 Komponente von Delphi 21.0 läßt Programm abstürzen
Haben die den Schrott eigentlich repariert?
[edit] nein [/edit] SelStart und SelLength liefern originale Werte. (was falsch ist und der Bugreport wird ignoriert) RichEdit verwendet #13 als Zeilenumbruch, aber an Text und Lines wird rumgepfuscht und es kommt #13#10 raus, also mit jeder Zeile verrutsch die Position um ein weiteres Char. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:33 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz