Jump to content


  • Content Count

  • Joined

  • Last visited

Posts posted by Keesver

  1. procedure TFMXPrintForm.btnMakePDFClick(Sender: TObject);
      r: TRect;
      LCanvas: ISkCanvas;
      LDocument: ISkDocument;
      LDocumentStream: TStream;
      LSize: TSizeF;
      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);
      LDocumentStream := TFileStream.Create('Delphi.pdf', fmCreate);
        LDocument := TSkDocument.MakePDF(LDocumentStream);
          LCanvas := LDocument.BeginPage(r.Width, r.Height);

    Also see: Using Skia's PDF Backend | Skia

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

    • Like 1

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

    TComponentArray = array of TComponent;
    function SetDBSessionNames(const ComponentCount: Integer; const Components: TComponentArray; const sSessionName: string): boolean;


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

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


    47 minutes ago, Cristian Peța said:

    More than 10% from 12500 installations in last year are Windows 7 and 8

    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.

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

  7. In Citrix users are not allowed to start executables if they are not properly installed inside the system. Normally users are not allowed to install software themselves. So you should discuss with the hosting company if they can install your application into the Citrix image so that it becomes available to the users. If that is not an option, you can make your application available online using software like Thinfinity.

  8. 1 minute ago, Ian Branch said:

    Tks.  I haven't had anything like that reported to me.

    ok, good to hear, maybe our setup is different. We use a Windows 2019 datacenter, Gen 2 server.

    We now have a single server running, but are moving into a load balanced multi server setup. Do you have any experience with this?

  9. 16 hours ago, Cristiam Azambuja said:

    We used TSPlus Remote Access (https://tsplus-remoteaccess.com/?lang=en) and we are satisfied with the result.

    This looks more like a remote desktop solution and needs local software. With Thinfinity we can access a single application from the browser on the remote server. There is not even a login process required.

  10. Quote

    Is your answer that it is impossible (or very difficult) to create a stable android app using Delphi

    To comment on this question,  we are using FMX and Delphi (11.1) to build a Windows/Android/IOS app. We are pretty satisfied with the support, development process and stability of the application. One source/multi platform works very well for us. See this link Lynx X - Apps op Google Play.


    You are welcome to talk to our developers to share ideas or learn how we do stuff with Delphi 11.1