Delphi-PRAXiS :: Das Forum für Fragen zu Delphi
Das Experten Forum für Delphi Programmierer
Hilfe für CodeGear Delphi gibts es hier im Forum
Delphi Quelltexte und Source Codes
 
Delphi-PRAXiS :: Foren-ÜbersichtForen-Übersicht Delphi-PRAXiS Modul-ÜbersichtSite-Map Delphi-PRAXiS durchsuchenSuchen Delphi-PRAXiS Code-LibraryCode-Library Jetzt registrieren!Registrieren Login  
   
 
0
 
Fehlerhafte CRLF<>CR-Umsetzung im RichEdit (D2009+)
Ein Thema von himitsu.

Vorheriges Thema anzeigen  |  Nächstes Thema anzeigen
Neuen Beitrag schreiben Auf Beitrag antworten
als PDF-Datei herunterladenThema ausdrucken
 
Delphi-PRAXiS Forum - Übersicht -> Delphi - Bugreports
Seite 1 von 2   [ 28 Beiträge ]  Gehe zu Seite 1, 2  Weiter
 
 Autor 
 Nachricht 
 
himitsu #1|Beitrag #1124892Verfasst am: 28.01.2010, 18:59      Titel: Fehlerhafte CRLF<>CR-Umsetzung im RichEdit (D2009+) Antworten mit Zitat
sehr aktives Mitglied
Alter: 30
Status: offline
Beiträge: 13.862
angemeldet: 11.10.2003
Wohnort: Elbflorenz
Delphi 2010 Professional

[add] http://qc.embarcadero.com/wc/qcmain.aspx?d=81621 [/add]


Seit D2009 arbeitet SelStart und SelLength falsch.

Das RichEdit arbeitet intern nur mit #13, welches an vielen Stellen ausgeglichen wird, indem man bei Setzen von Text und beim Auslesen dieses gegeneinander austauscht.

.Text und .Lines haben also #13#10 und in .SelText, sowie im Edit-Inneren ist es nur #13.


Durch die Übersetzungen stimmen nun aber die Zeichenindizes absolut nicht mehr.

Heißt, je Zeile verrutscht der Index um eine Stelle
und somit geht ab der 2. Zeile sowas nicht mehr:
Delphi-Quellcode: markieren
S := RichEdit1.Text;
RichEdit1.SelStart := Pos(SearchText, S);
RichEdit1.SelLength := Length(SearchText);


Quelle: http://www.delphipraxis.net/topic172657_problem+mit+selstart.html



Was ich mich frage: Wieso ist das noch nicht aufgefallen?
D2009 gibt's ja schon 'ne Weile.

an alle schlaflosen Programmierer ... macht ein Upgrade, denn mit neuer Technik passiert sowas nicht > http://xkcd.com/571 Very Happy

www.fnse.de/img.htm

 Zuletzt bearbeitet von himitsu am 29.01.2010, 14:33, insgesamt 4-mal bearbeitet.
nach oben nach unten
Benutzer-Profile anzeigen Private Nachricht senden
Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen im Forum zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Google zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Wikipedia zu suchen.
 
 
himitsu #2|Beitrag #1124903Verfasst am: 28.01.2010, 19:50      Titel: Re: Fehlerhafte CRLF<>CR-Umsetzung im Richedit Antworten mit Zitat
sehr aktives Mitglied
Alter: 30
Status: offline
Beiträge: 13.862
angemeldet: 11.10.2003
Wohnort: Elbflorenz
Delphi 2010 Professional

Dieses war ein Versuch 'ner Lösung,

leider gibt es noch irgendwo ein Problem, welches ich grad' nicht finde. Confused
Zitat:
Im Projekt Project3.exe ist eine Exception der Klasse EOutOfResources mit der Meldung 'Fehler beim Einfügen einer Zeile in RichEdit' aufgetreten.



Dieses im "interface" vor die Form legen, in welcher ein TRichEdit verwendet wird:
Delphi-Quellcode: zusammenfalten | markieren
Type
  TRichEdit = Class(ComCtrls.TRichEdit)
  Protected
    Function InheritedGetSelText: String;
    Function GetSelStart: Integer; Override;
    Procedure SetSelStart(Value: Integer); Override;
    Function GetSelLength: Integer; Override;
    Procedure SetSelLength(Value: Integer); Override;
    Function GetSelText: String; Override;
  End;

Und das ist die Implementation:
Delphi-Quellcode: zusammenfalten | markieren
Uses RichEdit;

Function TRichEdit.InheritedGetSelText: String;
  Var T: TGetTextEx;

  Begin
    SetLength(Result, Inherited GetSelLength + 1);
    T.cb            := Length(Result) * SizeOf(Char);
    T.Flags         := GT_SELECTION;
    T.codepage      := 1200;
    T.lpDefaultChar := nil;
    T.lpUsedDefChar := nil;
    SendEMGetTextExMessage(Handle, EM_GETTEXTEX, T, Result);
  End;

Function TRichEdit.GetSelStart: Integer;
  Var S: String;
    i:   Integer;

  Begin
    Result := Inherited GetSelStart;
    S      := Text;
    i      := 0;
    While i < Result do Begin
      If S[i + 1] = #10 Then Inc(Result);
      Inc(i);
    End;
  End;

Procedure TRichEdit.SetSelStart(Value: Integer);
  Var S: String;
    i:   Integer;

  Begin
    S := Text;
    i := 0;
    While (i < Value) and (i < Length(S)) do Begin
      If S[i + 1] = #13 Then Dec(Value);
      Inc(i);
    End;
    Inherited SetSelStart(Value);
  End;

Function TRichEdit.GetSelLength: Integer;
  Var S: String;
    C:   Char;

  Begin
    Result := Inherited GetSelLength;
    S := InheritedGetSelText;
    For C in S do
      If C = #13 Then Inc(Result);
  End;

Procedure TRichEdit.SetSelLength(Value: Integer);
  Var S:   String;
    i, i2: Integer;

  Begin
    Inherited SetSelLength(Value);
    S  := Inherited SelText;
    i2 := Length(S);
    i  := 0;
    While i < i2 do Begin
      If S[i + 1] = #13 Then Begin
        Dec(Value);
        Dec(i2);
      End;
      Inc(i);
    End;
    Inherited SetSelLength(Value);
  End;

Function TRichEdit.GetSelText: String;
  Var i: Integer;

  Begin
    Result := InheritedGetSelText;
    For i := Length(Result) - 1 downto 0 do
      If Result[i + 1] = #13 Then Insert(#10, Result, i + 2);
  End;


[edit]
hoffentlich alle Fehler ausgemerzt

an alle schlaflosen Programmierer ... macht ein Upgrade, denn mit neuer Technik passiert sowas nicht > http://xkcd.com/571 Very Happy

www.fnse.de/img.htm

 Zuletzt bearbeitet von himitsu am 29.01.2010, 10:28, insgesamt 3-mal bearbeitet.
nach oben nach unten
Benutzer-Profile anzeigen Private Nachricht senden
Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen im Forum zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Google zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Wikipedia zu suchen.
 
 
himitsu #3|Beitrag #1125032Verfasst am: 29.01.2010, 10:26      Titel: Re: Fehlerhafte CRLF<>CR-Umsetzung im RichEdit (D2009+ Antworten mit Zitat
sehr aktives Mitglied
Alter: 30
Status: offline
Beiträge: 13.862
angemeldet: 11.10.2003
Wohnort: Elbflorenz
Delphi 2010 Professional

Mit viel Glück läuft der obere Code (#2) jetzt.

Wer Aufgrund von Kompatibilitäten zu anderen Codes die Änderungen nicht direkt integrieren will/kann,
der nehme die Variante über den Class Helper. (muß dann allerdings geziehlt z.B. .SelStartX verwenden).
Delphi-Quellcode: zusammenfalten | markieren
TRichEditHelper = Class Helper for TRichEdit
  Private
    Function  _GetSelStart:        Integer;
    Procedure _SetSelStart (Value: Integer);
    Function  _GetSelLength:       Integer;
    Procedure _SetSelLength(Value: Integer);
    Function  _GetSelText:         String;
    Procedure _SetSelText  (Value: String);
  Public
    Property SelStartX:  Integer Read _GetSelStart  Write _SetSelStart;
    Property SelLengthX: Integer Read _GetSelLength Write _SetSelLength;
    Property SelTextX:   String  Read _GetSelText   Write _SetSelText;
  End;

Delphi-Quellcode: zusammenfalten | markieren
Uses RichEdit;

Function TRichEditHelper._GetSelStart: Integer;
  Var S: String;
    i:   Integer;

  Begin
    Result := GetSelStart;
    S      := Text;
    i      := 0;
    While i < Result do Begin
      If S[i + 1] = #13 Then Inc(Result);
      Inc(i);
    End;
  End;

Procedure TRichEditHelper._SetSelStart(Value: Integer);
  Var S: String;
    i:   Integer;

  Begin
    S := Text;
    i := 0;
    While (i < Value) and (i < Length(S)) do Begin
      If S[i + 1] = #10 Then Dec(Value);
      Inc(i);
    End;
    SetSelStart(Value);
  End;

Function TRichEditHelper._GetSelLength: Integer;
  Var S: String;
    C:   Char;

  Begin
    Result := GetSelLength;
    S := GetSelText;
    For C in S do
      If C = #13 Then Inc(Result);
  End;

Procedure TRichEditHelper._SetSelLength(Value: Integer);
  Var S:   String;
    i, i2: Integer;

  Begin
    SetSelLength(Value);
    S  := SelText;
    i2 := Length(S);
    i  := 0;
    While i < i2 do Begin
      If S[i + 1] = #13 Then Begin
        Dec(Value);
        Dec(i2);
      End;
      Inc(i);
    End;
    SetSelLength(Value);
  End;

Function TRichEditHelper._GetSelText: String;
  Var i: Integer;

  Begin
    Result := GetSelText;
    For i := Length(Result) - 1 downto 0 do
      If Result[i + 1] = #13 Then Insert(#10, Result, i + 2);
  End;

Procedure TRichEditHelper._SetSelText(Value: String);
  Var i: Integer;

  Begin
    For i := Length(Value) - 1 downto 0 do
      If Value[i + 1] = #10 Then Delete(Value, i + 1, 1);
    SetSelText(Value);
  End;


Es wäre mal schön, wenn noch jemand die Codes testen kann.

Ja, es ist nicht unbedingt sehr optimal, wenn es sehr schnell gehn soll, aber das RichEdit war eh noch nie das Schnellste ... vielleicht fällt es ja nicht auf.

Mal sehn, wenn es läuft, dann gibt es eventuell noch ein/zwei Stellen, wo sich etwas optimieren liese.


Diese Codes sind natürlich nur bei einem Unicode-RichEdit ab Delphi 2009 nötig (in ANSI ging ja noch richtig).

an alle schlaflosen Programmierer ... macht ein Upgrade, denn mit neuer Technik passiert sowas nicht > http://xkcd.com/571 Very Happy

www.fnse.de/img.htm

 Zuletzt bearbeitet von himitsu am 29.01.2010, 10:26, insgesamt 1-mal bearbeitet.
nach oben nach unten
Benutzer-Profile anzeigen Private Nachricht senden
Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen im Forum zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Google zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Wikipedia zu suchen.
 
 
Alfi001 #4|Beitrag #1125034Verfasst am: 29.01.2010, 10:54      Titel: Re: Fehlerhafte CRLF<>CR-Umsetzung im RichEdit (D2009+ Antworten mit Zitat
"Rüsselmops" ;-)
Alter: 44
Status: offline
Beiträge: 592
angemeldet: 21.03.2005
Wohnort: Wuppertal
RAD-Studio 2007 Professional

Vielleicht sollte Emba das "class helper for Txxx" in "bug fixer for Txxx" umbenennen... Twisted Evil

Des Kaisers neue Kleider neues Blog - emperortools.de

 Zuletzt bearbeitet von Alfi001 am 29.01.2010, 10:55, insgesamt 2-mal bearbeitet.
nach oben nach unten
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen im Forum zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Google zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Wikipedia zu suchen.
 
 
Assertor #5|Beitrag #1125070Verfasst am: 29.01.2010, 12:07      Titel: Re: Fehlerhafte CRLF<>CR-Umsetzung im RichEdit (D2009+ Antworten mit Zitat
aktives Mitglied
Alter: 31
Beiträge: 1.181
angemeldet: 04.02.2006
Wohnort: Hamburg
RAD-Studio 2010 Arc

Hallo himi,

kannst Du mal prüfen, ob das in Zusammenhang mit dem QC Report #73849 steht?
http://qc.embarcadero.com/wc/qcmain.aspx?d=73849

Falls nicht, machst Du einen QC Report dafür auf?

Gruß,

Assertor

Assertor Delphi Blog (englisch)
Embarcadero Technology Partner
Indy Mercury & Core Team // Indy OpenSSL Maintainer
nach oben nach unten
Benutzer-Profile anzeigen Private Nachricht senden
Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen im Forum zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Google zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Wikipedia zu suchen.
 
 
himitsu #6|Beitrag #1125079Verfasst am: 29.01.2010, 12:21      Titel: Re: Fehlerhafte CRLF<>CR-Umsetzung im RichEdit (D2009+ Antworten mit Zitat
sehr aktives Mitglied
Alter: 30
Status: offline
Beiträge: 13.862
angemeldet: 11.10.2003
Wohnort: Elbflorenz
Delphi 2010 Professional

Puhhhhhh, bin mir nicht ganz sicher, ob es den selben Ursprung hat.

Die Fehler aus Beitrag #2 ist durch eine fehlerhafte Implementation meinerseids entstanden.
> An 'ner Stelle INC und DEC vertauscht, womit die Indize womöglich außerhalb eines gültigen Bereichs rutschten.


[add] Man sehn ob ich ein halbwegs verständliches Englisch zusammenbekomm.

an alle schlaflosen Programmierer ... macht ein Upgrade, denn mit neuer Technik passiert sowas nicht > http://xkcd.com/571 Very Happy

www.fnse.de/img.htm

 Zuletzt bearbeitet von himitsu am 29.01.2010, 12:28, insgesamt 1-mal bearbeitet.
nach oben nach unten
Benutzer-Profile anzeigen Private Nachricht senden
Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen im Forum zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Google zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Wikipedia zu suchen.
 
 
himitsu #7|Beitrag #1125100Verfasst am: 29.01.2010, 13:11      Titel: Re: Fehlerhafte CRLF<>CR-Umsetzung im RichEdit (D2009+ Antworten mit Zitat
sehr aktives Mitglied
Alter: 30
Status: offline
Beiträge: 13.862
angemeldet: 11.10.2003
Wohnort: Elbflorenz
Delphi 2010 Professional

Toll, wenn man dort zu lange schreibt und zwischendurch wieder ausgeloggt wird, dann ist alles Geschriebene weg.
Selbst wenn man sich in der, beim Sendeversuch eingeblendeten Seite, anmeldet.
ouch!


http://qc.embarcadero.com/wc/qcmain.aspx?d=81621

Ich hoff das ist soweit OK. Confused

an alle schlaflosen Programmierer ... macht ein Upgrade, denn mit neuer Technik passiert sowas nicht > http://xkcd.com/571 Very Happy

www.fnse.de/img.htm

 Zuletzt bearbeitet von himitsu am 29.01.2010, 13:16, insgesamt 1-mal bearbeitet.
nach oben nach unten
Benutzer-Profile anzeigen Private Nachricht senden
Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen im Forum zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Google zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Wikipedia zu suchen.
 
 
Assertor #8|Beitrag #1125102Verfasst am: 29.01.2010, 13:16      Titel: Re: Fehlerhafte CRLF<>CR-Umsetzung im RichEdit (D2009+ Antworten mit Zitat
aktives Mitglied
Alter: 31
Beiträge: 1.181
angemeldet: 04.02.2006
Wohnort: Hamburg
RAD-Studio 2010 Arc

Hi,

himitsu hat folgendes geschrieben:
Toll, wenn man zu lange schreibt und zwischendurch wieder ausgeloggt wird, dann ist alles geschriebene weg.
Selbst wenn man sich in der, beim Sendeversuch eingeblendeten Seite, anmeldet.
ouch!


Nimm doch den QC Client von Delphi (Menü Tools > Quality Central) oder noch besser imo QC Plus von Jeremy:
http://www.jed-software.com/qc_download.htm

himitsu hat folgendes geschrieben:
http://qc.embarcadero.com/wc/qcmain.aspx?d=81621

Ich hoff das ist soweit OK. Confused

Sieht gut aus Thumbs up! Soweit ich es eben in Erfahrung bringen konnte betrifft das alle Version ab D2009, da hier auf die neuere RichEdit dll gewechselt wurde.

Gruß,
Assertor

Assertor Delphi Blog (englisch)
Embarcadero Technology Partner
Indy Mercury & Core Team // Indy OpenSSL Maintainer
nach oben nach unten
Benutzer-Profile anzeigen Private Nachricht senden
Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen im Forum zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Google zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Wikipedia zu suchen.
 
 
himitsu #9|Beitrag #1125103Verfasst am: 29.01.2010, 13:23      Titel: Re: Fehlerhafte CRLF<>CR-Umsetzung im RichEdit (D2009+ Antworten mit Zitat
sehr aktives Mitglied
Alter: 30
Status: offline
Beiträge: 13.862
angemeldet: 11.10.2003
Wohnort: Elbflorenz
Delphi 2010 Professional

Assertor hat folgendes geschrieben:
Soweit ich es eben in Erfahrung bringen konnte betrifft das alle Version ab D2009, da hier auf die neuere RichEdit dll gewechselt wurde.

Jupp, soweit ich mitbekommen und getestet hab, tritt dieses seit D2009 auf.

Assertor hat folgendes geschrieben:
Nimm doch ...

jetzt isses zu spät Crying or Very sad

Assertor hat folgendes geschrieben:
Sieht gut aus Thumbs up!

Jumping in Fire

an alle schlaflosen Programmierer ... macht ein Upgrade, denn mit neuer Technik passiert sowas nicht > http://xkcd.com/571 Very Happy

www.fnse.de/img.htm
nach oben nach unten
Benutzer-Profile anzeigen Private Nachricht senden
Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen im Forum zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Google zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Wikipedia zu suchen.
 
 
Hazebukelar #10|Beitrag #1125172Verfasst am: 29.01.2010, 16:11      Titel: Re: Fehlerhafte CRLF<>CR-Umsetzung im RichEdit (D2009+ Antworten mit Zitat
Mitglied
Alter: 45
Status: offline
Beiträge: 18
angemeldet: 28.09.2009
Wohnort: Nähe Bodensee


Danke - ich habe Deinen Code#2 mal geprüft.
Läuft prima wenn man im Memo von oben nach unten sucht.
Bei Suchrichtung von unten nach oben wird der erste Suchbegriff gefunden und
auch richtig markiert, aber nicht nach dem nächsten SearchString weitergesucht...


Nochmals ich.
Habe noch etwas weiter getestet und noch etwas entdeckt (siehe Srceenshots):
Die Vorkommen von "die" welche im Text stehen werden sauber gefunden,
am Zeilenanfang gibt es noch ein Problem.
Hat vermutlich auch noch was mit dem Zeilenvorschub zu tun.
Ich schau's mir auch noch einmal an.

[ An diesen Beitrag wurden eine oder mehrere Dateien angehängt. Zum Herunterladen bitte anmelden. ]

 Zuletzt bearbeitet von Hazebukelar am 29.01.2010, 17:31, insgesamt 1-mal bearbeitet.
nach oben nach unten
Benutzer-Profile anzeigen Private Nachricht senden
Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen im Forum zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Google zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Wikipedia zu suchen.
 
 
himitsu #11|Beitrag #1125624Verfasst am: 30.01.2010, 22:38      Titel: Re: Fehlerhafte CRLF<>CR-Umsetzung im RichEdit (D2009+ Antworten mit Zitat
sehr aktives Mitglied
Alter: 30
Status: offline
Beiträge: 13.862
angemeldet: 11.10.2003
Wohnort: Elbflorenz
Delphi 2010 Professional

Ich versuch grad über ein Testprojekt einiges auszuprobieren.

SelStart schein ich erstmal hinbekommen zu haben.

Wenn man versucht SelStart in das CRLF, also zwischen #13 und das nicht vorhandene #10 zu setzen, dann wird dieses dahinterverschoben.
Ich denk mir, das ist so die beste Lösung.

Mit SelLength und SelText kämpfe ich noch etwas.



Auch gibt es ein anderes Problem, aber ich hab den Grund noch nicht gefunden.
Wenn über die DFM ein Text definert ist oder einer zugewiesen wird, bevor die Komponente (das Handle) existiert, dann verschwindet dieser Text auf ominöse Weise. Shocked

Dieses geht im OnCreate der Form,
Delphi-Quellcode: markieren
RichEdit1.HandleNeeded;
RichEdit1.Text := 'test';

aber dieses nicht.
Delphi-Quellcode: markieren
RichEdit1.Text := 'test';



[add]
Ach ja, am Anfang wurde mein Eintrag im EDN als Duplikat angesehn, aber inzwischen hab ich 'nen ganz eigenen Privatfehler. Laughing

[edit]
Anhang entfernt ... Neuer siehe #16

an alle schlaflosen Programmierer ... macht ein Upgrade, denn mit neuer Technik passiert sowas nicht > http://xkcd.com/571 Very Happy

www.fnse.de/img.htm

 Zuletzt bearbeitet von himitsu am 31.01.2010, 12:43, insgesamt 3-mal bearbeitet.
nach oben nach unten
Benutzer-Profile anzeigen Private Nachricht senden
Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen im Forum zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Google zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Wikipedia zu suchen.
 
 
toms #12|Beitrag #1125688Verfasst am: 31.01.2010, 09:10      Titel: Re: Fehlerhafte CRLF<>CR-Umsetzung im RichEdit (D2009+ Antworten mit Zitat
CodeLib-Manager
Alter: 31
Status: offline
Beiträge: 4.451
angemeldet: 10.06.2002
Delphi 6 Professional

RichEdit auf eine Form gesetzt, dann

Delphi-Quellcode: markieren
procedure TForm1.FormCreate(Sender: TObject);
begin
  RichEdit1.Text := 'test';
end;


der Text verschwindet nicht...oder was hast du genau gemacht, dass der Text verschwindet?
nach oben nach unten
Benutzer-Profile anzeigen Private Nachricht senden
Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen im Forum zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Google zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Wikipedia zu suchen.
 
 
himitsu #13|Beitrag #1125691Verfasst am: 31.01.2010, 09:28      Titel: Re: Fehlerhafte CRLF<>CR-Umsetzung im RichEdit (D2009+ Antworten mit Zitat
sehr aktives Mitglied
Alter: 30
Status: offline
Beiträge: 13.862
angemeldet: 11.10.2003
Wohnort: Elbflorenz
Delphi 2010 Professional

toms hat folgendes geschrieben:
der Text verschwindet nicht...oder was hast du genau gemacht, dass der Text verschwindet?

Delphi-Quellcode: markieren
TRichEdit = Class(ComCtrls.TRichEdit)
  ...

ist auch noch eingebuden.

Dann greif ich im RE.OnChange, wärend des Form.OnCreate, lesend auf RE.SelStart zu,
dabei wird das RE-Control erstellt und der Text ist weg ...

PS: Du hast es aber auch mit D2009+ probiert?


[add]
hatte grade im gesamten Testprojekt alles, bis auf RE.Text:='...' auskommentiert und den selben Behler bekommen, selbst alle anderen Komponenten hab ich entfernt, aber erst nachdem ich da RichEdit gegen ein Neues getauscht hab, ging das Zuweisen wieder ... jetzt muß ich nur noch den Unterschied finden.

[edit]
setze mal .HideSelection auf False? Shocked
[edit2]
nee, liegt doch nicht nur daran Grübelnd...

[edit3]
Es scheint wohl irgendeine Kombination aus ScrollBars, WordWrap und HideSelection zu sein?

HideSelection = False
ScrollBars = ssBoth
WordWrap = False
Lines = leer

an alle schlaflosen Programmierer ... macht ein Upgrade, denn mit neuer Technik passiert sowas nicht > http://xkcd.com/571 Very Happy

www.fnse.de/img.htm

 Zuletzt bearbeitet von himitsu am 31.01.2010, 10:00, insgesamt 4-mal bearbeitet.
nach oben nach unten
Benutzer-Profile anzeigen Private Nachricht senden
Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen im Forum zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Google zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Wikipedia zu suchen.
 
 
toms #14|Beitrag #1125697Verfasst am: 31.01.2010, 10:07      Titel: Re: Fehlerhafte CRLF<>CR-Umsetzung im RichEdit (D2009+ Antworten mit Zitat
CodeLib-Manager
Alter: 31
Status: offline
Beiträge: 4.451
angemeldet: 10.06.2002
Delphi 6 Professional

Zitat:
HideSelection = False
ScrollBars = ssBoth
WordWrap = False
Lines = leer


Habe ich so gesetzt. Das Verhalten, dass der Text verschwindet, kann ich nun bei deinem Beispiel reproduzieren (D2009)
nach oben nach unten
Benutzer-Profile anzeigen Private Nachricht senden
Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen im Forum zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Google zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Wikipedia zu suchen.
 
 
himitsu #15|Beitrag #1125698Verfasst am: 31.01.2010, 10:14      Titel: Re: Fehlerhafte CRLF<>CR-Umsetzung im RichEdit (D2009+ Antworten mit Zitat
sehr aktives Mitglied
Alter: 30
Status: offline
Beiträge: 13.862
angemeldet: 11.10.2003
Wohnort: Elbflorenz
Delphi 2010 Professional

toms hat folgendes geschrieben:
Habe ich so gesetzt. Das Verhalten, dass der Text verschwindet, kann ich nun bei deinem Beispiel reproduzieren (D2009)

Hab es eben sowohl in D2009, D2010 und sogar in D7
und je in einem neuem/leeren Projekt reproduzieren können.

Richedit auf Form, im OI dieses eingestellt
Zitat:
HideSelection = False
ScrollBars = ssBoth
WordWrap = False
Lines = leer

und in Form.OnCreate noch ein
Delphi-Quellcode: markieren
RichEdit1.Text := '123';

an alle schlaflosen Programmierer ... macht ein Upgrade, denn mit neuer Technik passiert sowas nicht > http://xkcd.com/571 Very Happy

www.fnse.de/img.htm
nach oben nach unten
Benutzer-Profile anzeigen Private Nachricht senden
Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen im Forum zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Google zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Wikipedia zu suchen.
 
Anzeige-Optionen:    
 
Delphi-PRAXiS Forum - Übersicht -> Delphi - Bugreports Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 2   [ 28 Beiträge ]  Gehe zu Seite 1, 2  Weiter
 
  Neuen Beitrag schreiben Auf Beitrag antworten
als PDF-Datei herunterladenThema ausdrucken
 
   
Gehe zu:  
Du darfst keine Beiträge in dieses Forum schreiben.
Du darfst auf Beiträge in diesem Forum nicht antworten.
Du darfst Deine Beiträge in diesem Forum nicht bearbeiten.
Du darfst Deine Beiträge in diesem Forum nicht löschen.
Du darfst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten.
Du kannst Dateien in diesem Forum nicht herunterladen.


Impressum / Kontakt
Allgemeine Geschäftsbedingungen
Verhaltenskodex & FAQ

Delphi-PRAXiS :: Das Forum für Delphi-Programmierer
Das Experten Forum für Delphi ProgrammiererHilfe für Borland Delphi gibts es hier im ForumDelphi Quelltexte und Source CodesDelphi-PRAXiS :: Das Forum für DelphiWindows APIInternet und NetzwerkeVCL und Datenbanken
 

Delphi-PRAXiS V.2005 III
© 2002-2010 by Daniel R. Wolf
powered by phpBB © phpBB Group

Impressum / Kontakt Allgemeine Geschäftsbedingungen