-
Content Count
882 -
Joined
-
Last visited
-
Days Won
7
Everything posted by Stano
-
Change TjstAdvPanel to TAdvPanel or TPanel
-
I don't buy that argument. The rendering speed of a single node depends only on its owner. It does not affect it: the number of nodes whether it is on a ScrollBox or on a SmoothPanel they are rendered quickly on the form itself. But not that fast. I am attaching the files here. Maybe this will suggest more. You don't need to notice those panels on the left. You can throw them away. For comparison, just change the Parent. I also welcome comments for improvement. But nothing complicated. Just such simple things Do internetu.rar
-
You didn't read carefully, or I wrote it my way. Unintelligibly. So again. I'm making a chart (spider) for the teams in the KO system (football). There can be a maximum of 128 nodes in the first level. The total is 255 nodes. For interest. One node consists of: TCurvyPanel and on it TAdvEdit TAdvOfficeCheckBox TLabel That's a total of 1020 components. All components are already created. It's just a matter of rendering them. For example, when you change the Tab in TPager. Case 1. ScrollBox on a form TAdvSmoothPanel on ScrollBox All components have the owner TAdvSmoothPanel Time 12 seconds 2nd case ScrollBox on form TAdvSmoothPanel on ScrollBox Panels on TAdvSmoothPanel All components have an owner any of the panels Time 1 - 1.5 seconds What interests me is why the first case is so incredibly slow. And the second one is basically instantaneous. Placing components on a panel generally speeds up rendering! That's why I was able to find out by accident. Unfortunately, your demonstration makes me think of two things.
-
You can certainly set what should happen after the dialog is closed. Eurekalog has it. Check it out. Turning off the whole madexcept is nonsense.
-
Unfortunately, many of them with a million features that nobody wants. After all, the manufacturer knows best what users really need.
-
Search for posts here. It has already been discussed here.
-
11.3 and LSP. No rant, just checking if you have the same issue
Stano replied to Fons N's topic in General Help
I have a different predicament. As soon as there is a bug somewhere, Insight doesn't offer anything. This was not the case before. Personally, it bothers me a lot. I would be happy if that could be changed. -
Time to judge I do not know. But you can solve the problem with popupMenu (probably) Find definition/declaration.
-
I haven't done anything on the project for a long time. I went to test it so I could send it. I didn't make any changes to the forms. I just slightly modified one unit. Because of obsidium. I ended up throwing that out of the program completely. When I close any form, I get AV. The addresses are always the same. Project JasotSVB.exe raised exception class $C0000005 with message 'access violation at 0x00e37c14: read of address 0x2000000b'. The attached images are an extract from the Eurekalog. I can't find anything there. Asm and CPU dump is taboo for me. Because of my abilities, I worked on it for many years. I don't want to lose it. Please help me a lot.
-
I found the forms to be fine. I have an error somewhere in the code. Hooray. I'm going to look for it. I blocked the creation of a "base" class
-
The dfm trick didn't work.
-
Shutting down the IBC is not an option. The only option is to install an older version. I am working on another program (FireDAC) using the same procedures and components. The problem is not. I would like to know how unwanted characters could suddenly appear in dfm in bulk. Used Magician by Uwe Rabe. He certainly doesn't do that. IBC is OK.
-
To my knowledge, unless it's changed, OnShow is called on every new form view. MyForm.Hide -> MyForm.Show(Modal)
-
There is no problem at column 0. I'm addressing the other ones. I found this on the internet. I don't understand the code, but it works. There is one problem. It is ugly at the moment. Is there a solution where it will be prettier? I just need to display it! I don't like the use of the image. A1. Draw a CheckBox and start drawing in OnAfterCellPaint. Here you can see the styles in Winapi.Windows, not only the CheckBox, but also the RadioButton. uses Winapi.Windows; procedure TfrmFilterCust.vstAfterCellPaint(Sender: TBaseVirtualTree; TargetCanvas: TCanvas; Node: PVirtualNode; Column: TColumnIndex; CellRect: TRect); var vANode: PCustNode; begin if Column = 3 then begin vANode := Sender.GetNodeData(Node); if vANode.IsCustomer then DrawFrameControl(TargetCanvas.Handle, CellRect, DFC_BUTTON, DFCS_CHECKED) else DrawFrameControl(TargetCanvas.Handle, CellRect, DFC_BUTTON, DFCS_BUTTONCHECK); end else if Column = 4 then begin vANode := Sender.GetNodeData(Node); if vANode.IsSupplier then DrawFrameControl(TargetCanvas.Handle, CellRect, DFC_BUTTON, DFCS_CHECKED) else DrawFrameControl(TargetCanvas.Handle, CellRect, DFC_BUTTON, DFCS_BUTTONCHECK); end; end; A2. Click on CheckBox to select the Node using the OnMouseDown mouse. procedure TfrmFilterCust.vstMouseDown(Sender: TObject; Button: TMouseButton; procedure TfrmFilterCust.vstMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin FSeledNode := vst.GetNodeAt(X, Y); end; Edit the material properties in the OnColumnClick event and redraw the RepaintNode in the call. procedure TfrmFilterCust.vstColumnClick(Sender: TBaseVirtualTree; Column: TColumnIndex; Shift: TShiftState); var vANode: PCustNode; begin if Column = 3 then begin vANode := Sender.GetNodeData(FSeledNode); vANode.IsCustomer := not vANode.IsCustomer; Sender.RepaintNode(FSeledNode); end else if Column = 4 then begin vANode := Sender.GetNodeData(FSeledNode); vANode.IsSupplier := not vANode.IsSupplier; Sender.RepaintNode(FSeledNode); end; end; This completes the display and editing of the CheckBox in the column. B. Check box in the header Edit header \ Columns \ Column[n] \ Set properties in properties: CheckBox = True , Show CheckBox. CheckType = ctCheckBox, typ je CheckBox a RadioButton CheckState = csUncheckedNormal //csCheckedNormal to see if there is a check In the properties, edit the header\Options check itShowImages in the properties edit TreeOptions\MiscOptions check to checkSupport
-
I'll look into it. I don't want to use images. Maybe the feature in question is about something else. I'll see.
-
If you have history turned on, you can find it there.
-
I wouldn't do that. You or user can call an OnShow event repeatedly. It will create objects each time.
-
Combobox1.Items.AddObject(....)
Stano replied to Henry Olive's topic in RTL and Delphi Object Pascal
StrtToInt() -
The welcome page is configurable. See bottom left: Edit layout. No registers and the like.
-
Stuck half way through fixing the XE4 help system
Stano replied to Edwin Yip's topic in Delphi IDE and APIs
They've already gone back to them. On the recommendation of MS itself -
D11 Update 1 + FireDAC + ODBC to Sage returning wrong data!
Stano replied to Jasonjac2's topic in Databases
I don't think that's your problem. But we're gonna write it here anyway. I got the contents of the tables (Paradox) in *.xls. I copied them to *.csv. Then imported them into Firebird. I had errors of type String cannot be converted to integer even for date. I selected the entire column(s) in Excel and formatted. I repeated the whole procedure. Everything worked. -
I would also check the dfm file.
-
I have a policy that if the user is in Insert/Edit mode, they can't "click" anywhere else. In other words. I will not allow him to take an action that would interfere with working on a record.