ECM Home

PlusMemo Home Page

PlusMemo evaluation packages

What's new in v6.4c

Accessory components

How to buy

Registered users update page


History of recent PlusMemo updates

6.4c
02/26/07
- Changed property Paragraphs from TStrings to TPlusMemoStrings;
- Changed hotkey (or shortcut) to produce italic from Ctrl-I to Ctrl-J, to avoid conflict with Tab shortcut;
- Added highlight color replication in print output (TPlusMemoPrinter component);
- Added properties NumbersFont and NumbersFontFromMemo to TPlusMemoPrinter;
- Fixed List index out of bounds exception in TpmCollapseHandler when moving mouse in left margin with specific sequences;
- Fixed clicking in memo to dismiss a popup menu sometimes selecting lines;
- Fixed TPlusToRTFU generating Unicode characters in clipboard;
- Made TRegExHighlighter consider member "Whole words only" in deciding whether to highlight keywords;
- Fixed TExtHighlighter not always highlighting start-stop sections embedded in others if they are besides each other;
- Start-stop keys and keywords starting with an '=' character can be saved and loaded correctly;
- Fixed DrawLines not producing the wavy underlines at the correct vertical position;
6.4b
01/06/06
- Added Delphi 2006 version, removed Clx versions;
- Fixed collapsed sections staying collapsed when reconfiguring that section from before edition;
- Added {pp} as page count field in header and footer of TPlusMemoPrinter;
- Added properties HeaderLineWidth and FooterLinewidth to TPlusMemoPrinter;
- Changed functions of Print and Setup in TPlusMemoPrinter preview form;
- Added property HintCollapsedText to TpmCollapseHandler;
- Improved handling of formatting thread start and finish operations, thereby avoiding a memory leak at application exit time;
- Application programmed text modifications will handle LF (#10) as a carriage return, as well as LF/CR pair;
- Fixed memory overrun problem when recreating handle (Unicode version only).
6.4a
10/10/05
- Added TRegExHighlighter component;
- Added property PrintStartPage to TPlusMemoPrinter, plus ability to set LeftMargin for each printed page inside OnProgress handler;
- Added PrintTitle property to TPlusMemoPrinter;
- Fixed OnEnter and OnExit being triggered two times for each entrance or exit to/from component;
- Default value for PreviewTitle is set to "Print preview";
- Added DestroyCursor on the right arrow cursor loaded through LoadCursor, thus preventing a resource leak;
- Fixed CollapseAll and ExpandAll not working for dynamic collapsible sections if the start key is also defined as a keyword;
- Fixed TUrlHighlighter launching two browsers or email clients when used as a subhighlighter of another highlighter;
- Fixed nested start-stop sections with identical start key and woWholeWordsOnly incorrectly highlighted;
- Fixed highlighting misbehavior with pmoDiscardTrailingSpaces in Options under certain circumstances;
- New Collapse/Expand cursors included, more beautiful than previous ones (thanks to Joachim Schwieren);
- Fixed infinite loop when highlighting nested sections that end at the same paragraph boundary;
- Fixed memory corruption with some specific start-stop key in TExtHighlighter;
6.3c
08/10/05
- Added multicolumn capabilities to TPlusMemoPrinter (properties GutterWidth, Columns);
- TPlusMemoPrinter puts the application title as document name in print jobs;
- Added mouse wheel support in print preview form;
- Added option pmoKeepParBackgnd;
- Added Move up/Move down buttons in the keywords editor;
- Fixed invalid static formatting when inserting lines starting from a paragraph where static attribute is not empty;
- Fixed caret set at far left of memo if empty when first displayed (i.e. it was neglecting left margin)
- TpmLiveSpell3 ignores words containing html entities (&xxx;} if soHtml is present in the speller options;
- Fixed first line of text added to run time memo not being always highlighted;
- Tab key can be used to move to right at the end of a line if pmoKeepColumnPos is True.
6.3b
12/27/04
- Available for Delphi 2005 (VCL for Win32 version);
- Paragraph background does not override dynamic background specification;
- Fixed CollapseAll not working for blocks not separated by uncollapsible paragraphs;
- Added method GetBlocksStates;
- Fixed THtmlHighlighter producing collapsible sections;
- Added TUrlHighlighter.OnUrlLaunch event;
- Fixed problem pasting a TPlusMemo on a form in the IDE;
- Fixed list index out of bounds after changing the keyword definitions at run time under specific circumstances;
- Fixed static formatting kicking in if a long word containing control codes was wrapped on more than one line;
- The keywords editor can save/load multiple keywords or section definitions that have the same keyword or start-stop keys;
- Start-stop keys have their case persistent in streams and ini files;
- Fixed the caret not always at the proper location after a text addition of multiple paragraphs;
- Fixed access violation inserting paragraphs larger than 64K chars.
6.3a
11/03/04
- Added component editor in package (double click on TPlusMemo at design time brings the Lines editor);
- Added InternalPopup, OnInternalPopup properties;
- Added methods MakeCollapsibleBlock, RemoveCollapsibleBlock, RemoveSelCollapsible, CollapseBlock, ExpandBlock, CollapseAll, ExpandAll;
- MakeSelCollapsible does not destroy dynamic highlighting anymore;
- Dynamic collapsible blocks that are edited are expanded first;
- Method ScrollInView expands the place where the caret is;
- Added property StartingLineNumber to TPlusMemoPrinter;
- Added property RightBorder to TPlusGutter;
- Added properties BookmarkList, OnSetBookmark and OnClearBookmark to TPlusGutter;
- Added property ForceFont to TPlusToHtml so that html text loaded into Word will get the correct font (Word does not obey the BaseFont tags);
- TPlusToHtml.CopyToClipboard places the proper headers and footers so that Word recognizes it;
- THtmlHighlighter gives a distinct context number (12) for <%...%> sections, as opposed to the same value (2) for <script>..</script>;
- Added TEmailHighlighter (not documented yet, will be in the next update);
- Fixed many minor issues and done various enhancements. See below.
6.2g
05/18/04
- Undo steps inside of BeginUpdate/EndUpdate are grouped together;
- Increased default values for UndoMaxSpace and UndoMaxLevel to 4MB, 64K; negative values mean no limit;
- Corrected a division by zero error when going back between 32k to 64k lines in one shot with the scrollbar;
- Fixed an access violation when deleting the first highlighted character of a line in overwrite mode.
6.2f
05/09/04
- Added property WordWrapChars;
- Added SaveUndo, LoadUndo methods;
- Added property CTypeHex to TNumberHighlighter;
- Ctrl-P inserts a #12 in the text (which produces a page break in the TPlusMemoPrinter printout and in TPlusToRtf);
- Fixed not being able to enter spaces if pmoDiscardTrailingSpaces is there but not pmoKeepColumnPos;
- WM_PASTE and WM_CUT messages do a ScrollInView, as do the standard TpmEditPast and TpmEditCut actions;
- THtmlHighlighter will honor keywords from its SubHighlighter;
- TPlusToRtf considers #12 as page break;
- Fixed a memory leak in TPlusMemoPrinter component when doing a preview;
- Fixed an error with TExtHighlighter when some keywords or start-stop keys have positional dependency and property SubHighlighter is assigned;
- Fixed TPlusGutterU not showing bookmark icons if TPlusGutter is not used in the same application.
6.2e
03/09/04
- Fixed Find Next not effective in TpmSearchReplace action
- Increased possible keyword length to 65535 chars (from 255) so as to support long urls;
- Fixed a bug with Ctrl-Delete key combination, which was not working and producing display glitches;
- Fixed a bug when loading from a stream with pmoDiscardTrailingSpaces;
- Fixed a missing replacement of scrollbar range when loading a file within BeginUpdate/EndUpdate;
- Fixed a list index out of bounds with keywords or start-stop keys having woFirstParWord or woFirstNonBlank under certain circumstances;
- Fixed a memory leak with TPlusToRTF.SaveToFile;
- Fixed a problem assigning to property SelLine under some circumstances;
- Made TPlusMemo responsive to the Windows menu key.
6.2d
12/27/03
- Avoid internal ScrollInView for programmatically done content modifications (except Lines accesses);
- Removed smooth scrolling when done with mouse wheel;
- Fixed calling SetBold, SetItalic, SetUnderline... with SelLength=0 not making subsequent typing take the correct style;
- Removed curly braces from url delimiters;
- Fixed a display problem when dragging text within manually set dynamic sections;
- Added unicode methods/properties to TPlusMemoStrings (properties Lines and Paragraphs);
- Added OnSuggestPopup event to TpmLiveSpell3 (the Live Spell check accessory component);
- Fixed the caret being displayed at a wrong vertical position when toggling WordWrap under some circumstances.
6.2c
11/08/03
- Fixed MakeSelCollapsible not always working (same thing for SetDynStyle with Collapsible=True);
- Fixed an av when destroying a TpmCollapseHandler while some TPlusMemo still has a reference to it (very disturbing at design time);
- Avoid being able to enter characters > 128 in Unicode version even if ReadOnly is True.
6.2b
11/07/03
- Added method ExpandSel (an omission in v6.2a);
- Fixed mouse misbehavior when doubleclicking on collapse sign;
- Fixed incorrect mousewheel behavior when some blocks are collapsed;
- Fixed range error in TpmCollapseHandler in some circumstances
- Fixed TUrlHighlighter making its highlighting collapsible
- Fixed TPlusMemoPrinter sometimes painting fully black lines for collapsible blocks.
6.2a
11/01/03
- Added collapsible blocks (see topic "Collapsible blocks in PlusMemo" in PlusMemo.hlp);
- Added standard edit actions (see "PlusMemo compatible standard edit/search actions");
- Added extensions to keywords and start-stop key definitions (see "TExtHighlighter component");
- Changed definition of ColumnWrap: if greater than zero, wrapping occurs after a fixed number of characters instead of a particular horizontal position;
- Added property ParagraphsWrapable;
- Fixed many minor issues and done various enhancements. See below.
6.1c
05/19/03
- Added possibility to save/load keyword and start-stop key definitions from Keywords editor design window (it was available only with TExtHighlighter before);
- Added a new member to TOOPHighlighter ("Properties");
- Fixed horizontal scroll bar not always being set to the proper range;
- Added theme support under Delphi 7: the border is drawn according to theme under Delphi 7 if your application is themed (requires Ctl3D=True, BorderStyle=bsSingle);
- Fixed pmoWideOverwriteCaret not effective since v6.0a (plus, was producing a run time error in Kylix);
- Fixed slight problem with pmoSmartTabs whereby if the line before contained tab characters, text was not properly aligned;
- Fixed caret staying alive when changing focus to another window (Clx version only);
- Fixed the component eating Alt-xx key combinations in Clx version (would prevent menu shortcut from being effective).
6.1b
05/01/03
- Fixed a painting problem apparent with syntax highlighting and UpdateMode set to umImmediate, also apparent with umBackground under rarely encountered circumstances;
- Slightly improved vertical scrolling range;
- Fixed an av with the keywords editor when opening it if the list already contained keywords (VCL only);
- Fixed a few other minor issues with the keywords editor;
- Fixed painting bug in TPlusGutter component apparent when using smooth scrolling in TPlusMemo;
- Fixed another error with TPlusGutter component in some rarely occurring circumstances.
- Fixed the NullReplacement issue with Kylix
6.1a
04/22/03
- Introduced Clx version;
- Improved help file;
- Added property ShowNonPrintChars, which renders visible spaces, tabs and carriage returns
- ColumnWrap negative makes the wrapping at a given pixel position
- Avoid scrolling content with mouse wheel past the limit where no more lines are displayed at the bottom
- Fixed painting bug when BeginUpdate/EndUpdate is done inside of OnChange event (bug was apparent when TpmLiveSpell3 component being used)
- Fixed TPlusMemoPrinter component showing control characters instead of applying formatting
- Fixed a word wrapping problem whereby words too large to fit on one line would be placed with many lines each having only one character
- Fixed an access violation at program exit time under certain circumstances, with UpdateMode set to umBackground
6.0e
03/10/03
- Fixed setting LeftMargin, RightMargin and other properties affecting word wrapping producing an error "Control has no parent window" when its handle is not yet created (this error was affecting the TPlusMemoPrinter component in certain circumstances, among others)
6.0d
02/21/03
- Fixed: changing font size after handle is created producing incorrect painting;
- Fixed: returning WordWrap to True would not handle correctly the horizontal scrollbar;
- Fixed: TpmLiveSpell3 component not always doing live spell check;
- Avoid that TDBPlusMemo(U) scrolls to the end when loading its content from a field.
6.0c
02/08/03
- Fixed access violation at form destroy time if more than one TPlusMemo is on the form;
- Fixed Url highlighter not returning the complete url to the shell if the url is at the end of text content;
- Fixed property ColumnWrap not being effective immediately after changing it;
- Made method InsertBlock sensitive to pmoNoOverwriteBlocks.
6.0b
02/01/03
- Fixed SpecUnderline color not being effective;
- Fixed bug in Unicode version with start-stop keys highlighting;
- Fixed an access violation at program exit time under some specific circumstances;
- Improved behavior of persistent blocks when column block is selected.
6.0a
01/18/03
- New code editor features: persistent blocks, no overwrite of blocks, smart tabs (see property Options);
- Optional smooth scrolling (see property ScrollTime);
- Able to handle larger number of lines. PlusMemo was already quite powerful, now it is more (see specifications);
- Background formatting in a separate thread instead of main application message loop;
- Pixel positioning of tabs by setting property TabStops to a negative value;
- Improved keywords and start-stop key editors;
- Added SQL and C++ highlighters accessory components.

See Upgrading from v5.3 for possible source code changes to your application.

Fixed issues and minor enhancements in v6.3a:

- Grouped Undo/redo for content changes inside of BeginUpdate/EndUpdate will not make the caret blink;
- An end of paragraph correctly terminates a start-stop section with attribute "End at par" even if the last character of that paragraph is a stop key for a nested start-stop section;
- TPlusMemoPrinter.Preview throws an exception with message "No default printer installed" instead of producing invalid floating point operations when there is no printer defined;
- Fixed problem with TUrlHighlighter whereby the first character typed would not always appear immediately after loading some text in TPlusMemo;
- TPlusMemo internal popup appears even on an highlighted part unless an accessory "eats" the right click (ex: the live spell check component);
- Fixed an access violation at exit time if using TpmLiveSpell3 on a different form than TPlusMemo;
- Fixed an error saving/loading extended start-stop keys in ini files;
- Implemented "Scroll full page" mode if system setting returns mouse wheel factor=-1;
- Fixed an error with SaveUndo/LoadUndo in TPlusMemoU;
- Returned pmoLargeWordSelect working (it was defective since v6.0);
- Fixed vertical scrollbar range under specific circumstances;
- Fixed TPlusToHtml incorrect font output following A tag emission as part of an url;
- Fixed a list index out of bounds when typing text under very specific circumstances;
Fixed a bug with TPlusMemoPrinter with WordWrap=False;
- Fixed slight misplacement of TPlusMemoPrinter header and footer when right aligned;

Fixed issues and minor enhancements in v6.2a:

- Fixed a bug with TPlusMemoPrinter with WordWrap=False;
- Fixed slight misplacement of TPlusMemoPrinter header and footer when right aligned;
- Extended highlighters detect circular references through their SubHighlighter property;
- Fixed an infinite loop in TExtHighlighter for some specific start-stop key configuration;
- Fixed wrapping not properly redone when vertical scrollbar appears in some circumstances;
- Fixed a few selection painting bugs with Alignment<>taLeftJustify;
- Fixed a memory leak when inserting lines in some circumstances;
- Made Unicode version put clipboard format CF_TEXT for Win95-98, in addition to CF_UNICODETEXT;
- Added OnDrawItem to TPlusGutter;
- Added KeepBookmarks to TPlusGutter;
- Fixed a memory leak in TUrlHighlighter;
- TopOrigin is reset to zero when vertical scrollbar disappear following edition;
- Fixed ime pad window not always being placed at the proper location;
- Fixed a painting bug in TPlusGutter when content of TPlusMemo changes while part of the gutter is obscured by a dialog;
- Added '--' comment style in TSQLHighlighter and optional '#' one;
- Esc while dragging cancels the drag operation;
- Fixed application not closing instantly if some background formatting thread is in operation;
- Fixed error in TpmLiveSpell3U whereby the first character of each paragraph was not spell checked;
- Avoid extending columnar block selection with numeric keypad entering a character when releasing the Alt key