TAdvMemo still buggy

I updated to the latest and there are still highlighting and border issues.


See screenshots.

1. The memo is highlighting "safe" in blue (and underlining it) for some reason, when it is not part of the link.
2. Resizing the memo and making it bigger is not causing the the lines to re-wrap when word-wrapping is on. Interesting... when the memo is programmatically cleared and new text is added the wrapping (when resizing) seems to start working, but wrapping when resizing does not work the first time the tip dialog appears.
3. In the first screenshot there is a line (border line?) under the "safe to use." line. By resizing the dialog slowly I can sometimes get this line to appear and then disappear. This is a bit weird and "ugly".

Here is the text being added, line by line:

1. HTML5 (sometimes called just HTML) is in a constant state of flux. While many parts of HTML5 are considered stable and safe to use, there are parts that are not stable or that may not be well supported by browsers.
2. 
3. When using HTML5, be sure to understand the potential problems when using parts and features that may not be stable (and thus may change in the future) or that may not be widely supported.
4. 
5. Visit https://www.htmlvalidator.com/help.php?m=3&h=safetouse for information about what is safe to use.





We will reinvestigate.

Were you able to fix this? The problem still exists in 3.6.2.0.


This screenshot from design view clearly shows a highlighting problem ("For", "the", "then", and "option" are highlighted like they are URLs).


We will reopen this case.

It seems this problem still exists in TAdvMemo v3.6.2.3.

I was not yet able to allocate sufficient time to reinvestigate.

TAdvMemo is so buggy that I have to revert back to more primitive components.


I recently found another bug on high DPI displays that really messes things up. The text is not drawn or wrapped properly. TAdvMemo really needs some work and quality testing.

All I want is a component that can properly display and wrap some text and properly highlight links so they are clickable. Of course it has to work on high DPI displays too. Anyone have any suggestions?

I have again tested this, on high DPI (150%) and the code:

begin
  advmemo1.WordWrap := wwRightMargin;
  advmemo1.Lines.LoadFromFile('e:\tms\temp\loremipsum.txt');
end;

and I see the text being drawn and being wordwrapped correct:


So, what exactly are you doing to cause a problem?

Try download a trial version of my app here:

https://www.htmlvalidator.com/css-html-validator-trial-setup.exe

NOTE: The download link above currently has this problem but the next update will switch to a TMemo which does not have the problem talked about below.... but for now it does have the problem so you should be able to download it and reproduce it.

Run it and then go to 'Help->Startup Tips'. The first time a tip is displayed, the font is small. Now resize the 'Tip' dialog box and the font size suddenly increases and the text is corrupted (not drawn and wrapped properly). You can clip 'Next' to see the next tip and how text is cut off and missing.

This is on a 4K display at 125% scaling.

Basically I'm:
1. Edit->BeginUpdate();
2. Edit->Lines->Clear()
3. Adding each line with Edit->Lines->Add(line)
4. Edit->EndUpdate();
5. Edit->SelStart=0; // position caret
6. Edit->Perform(EM_SCROLLCARET,0,static_cast<NativeInt>(0)); // scroll to caret

So...

Q1. Can you reproduce the problem and see what I'm talking about?
Q2. Do you know what I'm doing wrong? Or is it a component bug?

I made a simple sample project that you can use to reproduce:

https://www.htmlvalidator.com/temp/TAdvMemo.zip

First, the URL highlighting bug is easily seen.

Second, on a 4K display with 125% scaling, you can instantly see the problem when you resize the dialog and the text size jumps.

  1. We have traced & solved the issue with URL and wordwrap
    2) With the latest internal version, we have not seen an issue with "text size jumping" on high DPI. Just to be sure, can you perhaps describe more precisely what you mean with "text size jumps"? If you mean the font size changes, this cannot be seen here.

Yes, the text size increases. I made a quick video with my phone:

https://youtu.be/gvx3Bi98dTE

And it's not just that the text size increases, it cuts off a lot of the text... it's just not drawing properly so something is way out of whack.

In the next update, there will be no such issue with text sizing.

Great... so you found and fixed that issue as well?

Yes

Thank you. I look forward to giving it another try.

Just tried the latest version and it's getting better but still buggy/wacky.




In the above:

1. It fails to properly highlight the two https links.
2. When the dialog is slowly resized, the recognition of the links changes. For example, if the dialog is a certain width then NO links are recognized and nothing is highlight, if it's another width then it "magically" starts recognizing the links again... to reproduce, create a TAdvMemo about the same size as in the above and then slowly resize it and see how it responds.
3. If the link ends in a double quote then a period, then that should not be considered part of the link./// in fact, any link recognition should probably end at a double quote or any invalid URL character.

Going to test on a high DPI display now and will report any issues there.

Oh, in case it is helpful, here's the text of what is show in the dialog (so you can copy and paste):


When link checking, don't forget that you can add path mappings in the 'Path Mapping' page of the Validator Engine Options.

For example, if your website files are stored locally in "C:\mywebsite", then add a path mapping from "C:\mywebsite" to "https://www.yourdomain.com/".

This will help the link checker calculate what link to check when editing files locally. With the example above, the link checker will map the link "C:\mywebsite\page1.php" to "https://www.yourdomain.com/page1.php".

Found another bug... when the memo is first displayed and the text/lines first loaded into the memo, the text does not wrap properly when resized. Increasing the width of the memo does not cause any change in the word wrapping, creating a lot of empty space on the right side of the memo where words should have wrapped to (see screenshot). However, if the dialog is cleared and reloaded with text/lines, then the memo's word wrapping starts properly responding to increases in the memo's width.



On my 4K display, the text still looks different than what TMemo displays with the same font and font size. It looks bold a little larger with TAdvMemo but not with TMemo. I don't believe this problem occurs on a normal display that doesn't use scaling. I'm using font Consolas at size 10.


Also, there is still that strange black horizontal line at the bottom of the memo (under "browser") that sometimes appears (see screenshot). I've reported (drawing?) issues like this before.

Unfortunately it looks like I'm going to have to go back to TMemo again, which has none of these issues (although it doesn't highlight URLs and make them clickable).

I hope you can get all these issues fixed in the next update.