Log On
Embarcadero Home
Watch, Follow, &
Connect with Us
Share This
QualityCentral
Communities
Articles
Blogs
Resources
Downloads
Help
QualityCentral
Delphi-BCB
VCLX
Align
Anchors
Constraints
Drag & Drop
MDI
MenuDesigner
QT
Styles
TActionList
TApplication
TBevel
TBitBtn
TBitmap
TBrush
TButton
TCanvas
TCheckBox
TCheckListbox
TClipBoard
TColorDialog
TComboBox
TControl
TControlBar
TCustomControl
TDBCheckBox
TDBComboBox
TDBEdit
TDBGrid
TDBImage
TDBListbox
TDBLookupComboBox
TDBLookupListbox
TDBMemo
TDBNavigator
TDBRadioGroup
TDBText
TDrawGrid
TEdit
TFindDialog
TFont
TFontDialog
TForm
TFrame
TGraphic
TGroupBox
THeaderControl
Themes
THint
TIcon
TIconView
TImage
TImageList
TLabel
TLCDNumber
TListBox
TListView
TMainMenu
TMaskEdit
TMemo
TMenuItem
TMouse
TOpenDialog
TPageControl
TPageDialog
TPaintBox
TPanel
TPen
TPicture
TPopupMenu
TPrinter
TPrinterDialog
TProgressBar
TRadioButton
TRadioGroup
TReplaceDialog
TSaveDialog
TScreen
TScrollbar
TScrollBox
TShape
TSpeedButton
TSpinEdit
TSplitter
TStatusBar
TStringGrid
TTabControl
TTextBrowser
TTextViewer
TTimer
TToolbar
TTrackBar
TTreeView
TWidgetControl
You are not logged in.
Help
Print
Public Report
Report From:
Delphi-BCB/VCLX/TTreeView
[ Add a report in this area ]
Report #:
4434
Status:
Reported
TTreeNodes.Insert breaks double linked list of TTreeNode
Project:
Delphi
Build #:
4.453
Version:
7.0
Submitted By:
Martin Suer
Report Type:
Basic functionality failure
Date Reported:
5/14/2003 8:21:19 AM
Severity:
Serious / Highly visible problem
Last Updated:
5/14/2003 2:04:38 PM
Platform:
All platforms
Internal Tracking #:
Resolution:
None
Resolved in Build:
:
None
Duplicate of:
None
Voting and Rating
Overall Rating:
(3 Total Ratings)
4.33 out of 5
Total Votes:
1
Description
Inserting a new TreeNode in a TTreeView breaks the double linked list of TreeNodes that is contained in the TreeView.
After Inserting a TreeNode, the FPrevItem of the TreeNode following the inserted Node doesn't point to the inserted Node and the FNextItem of the inserted Node doesn't point to the following node but is nil.
Therefore multiple Inserts of TTreeNodes at the same Position won't work correctly but nodes are inserted in a wrong order.
Steps to Reproduce:
None
Workarounds
use TTreeNodes.Add and then TTreeNodes.MoveTo(destination,naInsert)
The following change in the CLX will fix the problem
Excerpt from Unit QComCtrls:
constructor TCustomViewItem.Create(AOwner: TCustomViewItems; AParent, After: TCustomViewItem);
begin
inherited Create;
FOwner := AOwner;
FParent := AParent;
// (Martin Suer) CLX-Fehler Patch
if Assigned(After) then
FNextItem := After.FNextItem;
if Assigned(FNextItem) then
FNextItem.FPrevItem := self;
// ---------------------------------
FPrevItem := After;
if Assigned(FPrevItem) then
FPrevItem.FNextItem := Self;
FImageIndex := -1;
FSelectable := True;
FExpandable := False;
FStates := [isNone];
if Assigned(Owner) then
begin
DetermineCreationType;
CreateWidget(AParent, After);
end;
end;
Attachment
None
Comments
None
View Your Reports
Search
Server Response from: ETNACODE01
Developer Tools
Blackfish SQL
C++Builder
Delphi
FireMonkey
Prism
InterBase
JBuilder
J Optimizer
HTML5 Builder
3rdRail & TurboRuby
Database Tools
Change Manager
DBArtisan
DB Optimizer
ER/Studio
Performance Center
Rapid SQL
Technical Articles
Tutorials
White Papers
Press Releases
Newsletters
Add Content (GetPublished)
Audio
Audio & Video
Video
Bugs & Suggestions (QualityCentral)
Discussion Forums
Examples (CodeCentral)
Tags
Technology Partners
Downloads
Free Trials
Registered User Downloads
Beta Programs
Add Content (GetPublished)
Articles
Blogs
Bugs & Suggestions (QualityCentral)
Discussion Forums
Examples (CodeCentral)
Member Services
About
Connect with Us