Jump to content

Keesver

Members
  • Content Count

    75
  • Joined

  • Last visited

  • Days Won

    2

Everything posted by Keesver

  1. Keesver

    New desktop FMX app - third party controls?

    ## Free version A free version is available which is actually quite capable. The free version is named FMX-GRID. This version can be used by any number of developers and offers royalty free distribution of applications. The free version is published under the MIT license ## Commercial version FMX-GRID-MODEL is a commercial product. It adds model support and property binding for easy creation of user interfaces. A license is required per developer. Licenses are valid for 12 months, a subscription is required to keep licenses valid. Subscriptons must be renewed after the end date. If you are renewing your license before (or up to 30 days after) the current expiration date, the new expiration date will be calculated based on the original order date. Updates are only available to users with a valid license.
  2. Keesver

    New desktop FMX app - third party controls?

    We are in a similar situation and support a desktop, mobile, web and MacOs application from a single code base. We use a grid control written by our company which is also publicly available at Git-hub (GitHub - a-dato/FMX-GRID). This is more than just a grid control, as it supports light weight data binding and custom collections, sorting and more. You are welcome to check it out.
  3. What is the current state of this project? I'm looking for something like this. Looks like it made it into Kastri. Will check there first....
  4. Delphi 12 Version 29.0.50491.5718: I just did a small test on a fast MSSql server with a similar query on a very large table and I do not see such a delay. The data is shown quickly. I'm just using FDConnection and FDQuery. Probably your setup is different or your table contains some (big) blob's that are fetched? Also tried ADOConnection/ADOQuery, this was actually a little bit faster. Please provide a sample.
  5. Just to be clear, the application is the same in D11 and in D12? Or are you comparing VCL to FMX?
  6. You can add all objects to the same TLayout and then control the opacity from this TLayout.
  7. Keesver

    FMX-GRID Released

    Hello all, We are pleased to anounce the availability of a new Delphi grid control specifically designed for FMX. This control runs on all platforms, is easy on the memory, updatess fast and has smooth scrolling. There is a free version available that includes the following features: Connects to different data sources (Lists, List<T>, TDataset) Smart row caching results in low memory usage Fast scrolling Hierarchical views Extendable property model based on .Net type system (object properties can be modified at runtime) Development backed up by a professional team of FMX developers Components used in professional software (Lynx/Lynx-x) by a large user community We also provide a commercial version, this version adds model support and property binding to visual controls. You can easily bind properties to editors for advanced two way syncing. Please go to https://github.com/a-dato/FMX-GRID.git to download the free version. Community site: https://community.a-dato.com
  8. Keesver

    FMX-GRID Released

    Some images to show the grid in action:
  9. I can't login into https://quality.embarcadero.com/login.jsp. Is it my account or something else? Thanks for your feedback
  10. ApplyStyleLookup should be called only once when a control is about to be painted. However, when a TDateEdit control is put on a form and the application is moved to a second monitor with a different DPI, ApplyStyleLookup is called every time the drop down of the date editor is opened. The same happens with a TComboBox control. See test application. We will create a bug report for this at Embarcadero, but maybe someone knows a fix or workaround? Thanks ApplyStyleLookup.zip
  11. procedure TFMXPrintForm.btnMakePDFClick(Sender: TObject); var r: TRect; LCanvas: ISkCanvas; LDocument: ISkDocument; LDocumentStream: TStream; LSVGDOM: ISkSVGDOM; LSize: TSizeF; begin LSVGDOM := TSkSVGDOM.MakeFromFile('Delphi.svg'); LSize := TSizeF.Create(300, 300); r.Left := 0; r.Top := 0; r.Width := Round(treeControl.Width); r.Height := Round(treeControl.Height); LSVGDOM.SetContainerSize(LSize); LDocumentStream := TFileStream.Create('Delphi.pdf', fmCreate); try LDocument := TSkDocument.MakePDF(LDocumentStream); try LCanvas := LDocument.BeginPage(r.Width, r.Height); try LSVGDOM.Render(LCanvas); finally LDocument.EndPage; end; finally LDocument.Close; end; finally LDocumentStream.Free; end; end; Also see: Using Skia's PDF Backend | Skia
  12. You can print to PDF and then show this to the user. I can't tell you how to do this from the top of my head though.
  13. Delphi Supports Android API 33 Via Yukon Beta (embarcadero.com)
  14. Keesver

    Convert project c# to pascal

    Converting such code to Delphi is normally not the best approach (a lot of work and you loose connection with the original code). You can better make this code available to your Delphi application as a COM object or as a service.
  15. Keesver

    Registering user activity?

    At the Dutch Delphi day a few weeks ago, Bob Swart presented CodeSite which can do this (CodeSite - RAD Studio (embarcadero.com)). Especially the real time tracking whereby log events were sent directly to a central server showed that user interactions with the application could be tracked in (nearly) real time.
  16. Keesver

    Automating Delphi FMX based application

    What exactly do you want to 'automate'?
  17. Keesver

    I'm missing some nuance..

    You are accessing variable 'Components' as if it where an array, but it is declared like a reference to a TComponent. I think you want to redeclare your function like: type TComponentArray = array of TComponent; function SetDBSessionNames(const ComponentCount: Integer; const Components: TComponentArray; const sSessionName: string): boolean;
  18. Maybe this link helps: node.js - Error: unable to verify the first certificate in nodejs - Stack Overflow
  19. Keesver

    Update an application automatically

    Yes we have this issue too, our icon is not transparent as well. We haven't investigated it though and accepted it so far.
  20. Keesver

    Passing data between sockets

    I can remember seeing a method or class in Indy which allowed me to connect an incoming socket to an outgoing socket directly so that data flows from in to out. However I can't remember the name or file where I can find it. Any ideas?
  21. Keesver

    Passing data between sockets

    Thanks, will check it out
  22. Keesver

    Migrating projects from Delphi to .Net

    Checkout RemObjects Elements, you should be able to re-compile much of your Delphi code to .Net (Elements. Build native projects for any modern development platform, using the language(s) of your choice. Oxygene (Object Pascal), C#, Swift, Java, Go. | RemObjects Software).
  23. Keesver

    Update an application automatically

    Support for appinstaller is available since W10 (see Troubleshoot installation issues with the App Installer file - MSIX | Microsoft Learn). We have had issues in the past with the auto update feature (users had to restart their computer before the auto update would work) but that has been fixed by MS. We still support both update processes side by side having two separate installers. If you need to support W7 and W8 I think there is no way around this.
  24. Keesver

    Update an application automatically

    In the past we always did our own auto updating using a similar approach as presented here (rename exe, download new version, then restart). This works as long as the the application is installed inside the user profile, not when it gets installed in 'Program files'. Nowadays we let Windows handle this using an MSIX installer accompanied by an .appinstaller file (you can configure auto update behavior from the appinstaller file). In my experience, using the .appinstaller gives a much better user experience than any other method.
  25. Be careful with Mida. From my experience the software is not working. Although it can still be purchased, it won't run because at startup the software cannot contact their license server and then stops. I tried contacting the developer many times, never had a response.
×