View Issue Details

IDProjectCategoryView StatusLast Update
0003540JEDI VCL00 JVCL Componentspublic2008-02-21 03:16
ReporterRaidAssigned To 
PrioritylowSeveritymajorReproducibilityalways
Status closedResolutionsuspended 
Product Version3.10 
Target VersionFixed in Version 
Summary0003540: TJvRichEdit - SelStart, SelLength and SelText don't seem to work right.
DescriptionI'm not sure what it is, and by all means I checked out the code and you seem to be using mostly from TCustomMemo, with the cases of a few changes, like overriding the SelStart with your own message. Should be working, but I was using some SelStart and SelLength and SelText and it just didn't work right. I change to the normal TRichEdit and it worked fine (after 2 days of seeing if there was a bug in my code, turns out it was TJvRichEdit).

I'd investigate it myself but I'm backed up by many projects, I was sorta counting on TJvRichEdit to work but I'll wait till it's fixed.
Additional InformationHere's the code that didn't work with TJvRichEdit but works with normal TRichEdit.

    IF (FLastLine[ST] <> '') And (AnsiStartsStr (FLastLine[ST], Txt) ) Then
    Begin
      SelStart := Length (Text) - Length (FLastLine[ST] ) - 2;
      SelLength := Length (FLastLine[ST] ) + 2;
    End { IF }
    Else
    Begin
      SelStart := Length (Text);
      OutText (Format ('(%s) ', [TimeToStr (Now) ] ), [], clBlack);
      OutText (Format ('%s: ', [OutParseStr[PT] ] ), [fsBold], ParseColors[PT] );
    End; { Else }

    // Print the Text //

    OutText (Txt + 0000013#10, [], clBlack);
    FLastLine[ST] := Txt;

OutText is my own function:

  Procedure OutText (OutTxt : AnsiString; Style : TFontStyles; Col : TColor);
  Begin
    With FEdit[ST] DO
    Begin
      SelAttributes.Style := Style;
      SelAttributes.Color := Col;
      SelText := OutTxt;
    End; { With }
  End; { Procedure }

Incase you were curious. ^_^
TagsNo tags attached.

Activities

remkobonte

2006-03-16 15:37

developer   ~0008679

Can you construct a small program that shows the problem and upload it, and describe what the problem actually is.

I tried to construct a program from the code you provided but could NOT see something weird.

obones

2006-04-07 07:24

administrator   ~0009027

Any news Raid?

Raid

2006-04-07 16:17

reporter   ~0009039

Hmmm, I'd test it in the app I used with before but I'm in the midst of rewriting my Skin Engine for my components. What I was doing basically, was using the JvCreateProcess and routing the console apps to the JvRichEdits. Basically the CreateProcess sends the same line over and over until it has the full line, so basically what I was doing was replacing the old part of the line with the updated line. I was thinking it could possibly be a threading issue, since it was 3 threads but I looked at the JvRichEdit code and it seems thread safe. Basically the problem seemed to be it didn't seek correctly, but it ended up replacing some of it, but not all? It was very strange.

I suppose you could setup some JvCreateProcess consoles and read output from them in some JvRichEdits and just output the logs using that method? (Basically just replacing the old string with the updated string)

I guess you could've just stripped the old part from the string, and just added the new addition, but then again I wouldn't of come accross the bug. On the downside, I know we are all probably heavily loaded with other things we have to code, so it ends up just being an annoyance and I'm sorry I had to be the one to find such an annoying bug. As soon as I can get my Skin Engine up to a good point where I can replace the old components and run my old app, I'll replace the RichEdits with JvRichEdits and see again.

For now put this on low priority?

obones

2006-06-08 07:45

administrator   ~0009487

I'd really appreciate having a sample application for this.

obones

2008-02-21 03:16

administrator   ~0014206

This issue is too old, many changes have been done in between. Should this still be applicable, please create a new issue after having tested using the latest JVCL

Issue History

Date Modified Username Field Change
2006-02-27 00:00 Raid New Issue
2006-03-16 15:37 remkobonte Note Added: 0008679
2006-03-16 15:37 remkobonte Status new => feedback
2006-04-07 07:24 obones Note Added: 0009027
2006-04-07 16:17 Raid Note Added: 0009039
2006-04-12 01:10 obones Priority normal => low
2006-04-12 01:10 obones Status feedback => acknowledged
2006-06-08 07:45 obones Note Added: 0009487
2008-02-21 03:16 obones Status acknowledged => closed
2008-02-21 03:16 obones Note Added: 0014206
2008-02-21 03:16 obones Resolution open => suspended