Comments (5)
At that time I was referred to the stable version of VirtualTree. Now, however, the error has been merged into the stable.
The merge was necessary to fix issues in the derived style hook in newer Delphi versions. And therefore my answer won't be very different compared to the other issue:
Please respect our guidelines on the project homepage for submitting bugs. Please include your version of Delphi, and attach a sample compiling project as ZIP to your report, or instructions how to modify one of the included sample projects to reproduce the problem.
What I can see from the call stack: The root cause seems to be that the control is destroyed, and then a style hook is created for the destroyed control:
Vcl.Styles.CreateStyleHook($7D8B8E00)
Vcl.Styles.TStyleEngine.HandleMessage($7E2C0930,(130, 0, 0, 0, 0, 0, (), 0, 0, (), 0, 0, ()),$7E2C0930)
[...]
Vcl.Controls.TWinControl.Destroy
Vcl.Controls.TCustomControl.Destroy
It doesn't surprise me that this causes trouble. Virtual TreeView code is not involved in this call stack, except for inherited calls to base classes.
from virtual-treeview.
After hours of searching, I found the error. I have uploaded a small project (Delphi 11.3)
J9075 VirtualTree-Error.zip
- Adjust search path (maybe)
- Press button: "Panel.Free"
- Exception
Problem:
- Styles switched on
- Delete parent.
It would be convenient to insert some code for debugging. Then unimportant events are skipped.
Methode:
VirtualTrees.pas: procedure TBaseVirtualTree.WndProc(var Message: TMessage); [25853]
from virtual-treeview.
After hours of searching, I found the error. I have uploaded a small project (Delphi 11.3)
Thank you for this. I hope you understand, that with the information I had, it would be impossible to track down the problem.
VirtualTrees.pas: procedure TBaseVirtualTree.WndProc(var Message: TMessage);
The exception occurs even if I comment TBaseVirtualTree.WndProc()
, then without any VTV unit in the call stack. I am still convinced that the VCL should not create a style hook for destroyed control in the first place, maybe I can find some workaround.
from virtual-treeview.
Can you confirm that the latest source fixes the issue for you?
from virtual-treeview.
Thank you very much for the quick help.
The error no longer occurs with me.
Thank you for this. I hope you understand, that with the information I had, it would be impossible to track down the problem.
Yes, I understand. I had hoped you would find the mistake anyway. The combination of style and parent-destroy is quite unique.
from virtual-treeview.
Related Issues (20)
- Method `TBaseVirtualTree.GetOffsets` unnecessarily applies `FImagesMargin` in most cases HOT 1
- Git does not compile in 10.3.3 after the latest version
- Feature Request: SelectNode(ANode: PVirtualNode) HOT 2
- function AddToSelection() no longer public HOT 5
- SelectedCount is not always correct HOT 1
- Incorrect scaling of DefaultNodeHeight HOT 34
- Infinite loop in TBaseVirtualTree.Destroy HOT 4
- Untie BaseTree from VirtualTrees HOT 2
- Use solid lines instead of dotted lines as grid lines HOT 5
- Grid lines are not scaled
- Minor issues with CreateSystemImageSet HOT 2
- In AutoScale the "margin" should be DPI scaled HOT 13
- TVTHeader.AutoScale() never decreases height. HOT 3
- Remaining header AutoScale issue HOT 1
- Possible double scaling of unitialized nodes HOT 2
- Extract VST into VirtualTrees.StringTree.pas, leave VirtualTrees.pas as aggregate unit HOT 3
- Advanded Demo stack overflow HOT 2
- Advanced Demo Memory leak
- Advanced Demo Memory leak (TPicture) HOT 1
- Keep current selection when right-clicking a selected node (toRightClickSelect enabled) HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from virtual-treeview.