Jump to content

Stano

Members
  • Content Count

    882
  • Joined

  • Last visited

  • Days Won

    7

Everything posted by Stano

  1. Stano

    Rendering form content

    Change TjstAdvPanel to TAdvPanel or TPanel
  2. Stano

    Rendering form content

    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
  3. Stano

    Rendering form content

    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.
  4. Stano

    TValueListEditor how to catch exception when key exist?

    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.
  5. Stano

    How many people use Delphi?

    Unfortunately, many of them with a million features that nobody wants. After all, the manufacturer knows best what users really need.
  6. Stano

    How many people use Delphi?

    Search for posts here. It has already been discussed here.
  7. 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.
  8. Stano

    Delphi 11.3 is available now!

    Time to judge I do not know. But you can solve the problem with popupMenu (probably) Find definition/declaration.
  9. Stano

    Collapse of the programme

    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.
  10. Stano

    Collapse of the programme

    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
  11. Stano

    Collapse of the programme

    The dfm trick didn't work.
  12. Stano

    Collapse of the programme

    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.
  13. Stano

    Collapse of the programme

    Always.
  14. To my knowledge, unless it's changed, OnShow is called on every new form view. MyForm.Hide -> MyForm.Show(Modal)
  15. 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
  16. Stano

    VirtualStringTree as table - CheckBox in columns

    I'll look into it. I don't want to use images. Maybe the feature in question is about something else. I'll see.
  17. Stano

    Delphi's __recovery folder

    If you have history turned on, you can find it there.
  18. I wouldn't do that. You or user can call an OnShow event repeatedly. It will create objects each time.
  19. Stano

    Error loading data???

    The welcome page is configurable. See bottom left: Edit layout. No registers and the like.
  20. They've already gone back to them. On the recommendation of MS itself
  21. 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.
  22. Stano

    Deleting a Field Problem

    I would also check the dfm file.
  23. Stano

    Refresh dbedit after insert

    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.
×