Paul Dardeau 0 Posted Wednesday at 09:18 PM Hi everyone, I'm a long-time software developer (30 years), but new to Delphi. I resigned from the big corporate world in spring of 2024. I'm now working on developing some software as an indie developer. Having a lot of fun with Delphi! My first product is being written in Delphi (CE 12.1) with VCL. Once it's published, I plan to make a macOS version of the same application in Xcode/ObjC. You may wonder -- why don't you use FMX and just have 1 version that targets both platforms? I'm aware of FMX, but it feels like too big of a hurdle for me to tackle at this time. I have Xcode/Cocoa/ObjC experience, so it's not a big problem to develop. The application (commercial; closed source) will be targeted at exploratory data analysis of SQLite databases. While a great deal of the Delphi VCL is already implemented, there's still a lot to do. I don't have a name for my product yet, no website, etc. A sampling of things I'm currently working on (welcome to any suggestions!): - What to use for generating and managing license keys? - What to use for online sales? - What to use for producing PDF content? - What to use for internal product database? (leaning to either SQLite, Firebird, or IBLite) - How to route connecting lines for entity-relationship diagram? (currently drawing my lines with my own code, but it's not good enough) - What to use to product help files (all embedded within executable, some in exe/some on website, all on website)? - Font oddities with VCL TCanvas - Thinking about when/if to consider adding Skia and where to start with it -paul Share this post Link to post
Dave Novo 51 Posted Thursday at 06:43 PM Welcome to the Delphi world. There are lots of tools available for many of the questions your asked. Have a look at the subforum on this site and search for various tools and you will see many examples. Most of the tools have been around for a long time, and are very feature complete and differ by subtleties of usage etc. Delphi Third-Party - Delphi-PRAXiS [en] -for the diagrams, I know both TMS Software and Developer Express have flowcharting tools you can leverage. There are other lesser known ones that are available. Just google "delphi flowchart component" -Similar with Help tools. We used Help and Manual and liked it, but there are many other tools equally as valid. These do not even have to be delphi specific. -Please describe what "font oddities" you are seeing in more details. -Without knowing in more detail what you want, recommending a database is just throwing darts against the wall. All have their pros and cons. Share this post Link to post
Keesver 23 Posted yesterday at 09:09 AM For the diagrams: take a look at Graphviz. This is an open source project with a lot of traction. It works like an engine, you pass your data to the 'engine' and get a description of the diagram in return. The 'description' can be an SVG document that you can display using a browser or it can be a json document that you parse in your code and paint onto a canvas. The engine can be a dll, executable or external service. Graphiz can handle a many different diagrams. Share this post Link to post
Patrick PREMARTIN 85 Posted yesterday at 11:10 AM - What to use for generating and managing license keys? Many solutions are available from open source (check OnGuard) or expensive tiers dependent. I've developed my own, which is currently being deployed on all my software, with an online backoffice and a Delphi client unit. A simple use of keys to activate or not the software by code according to its state of activation. (I'm distributing it on a monthly or yearly hosting basis, and will soon be offering it for sale). - What to use for online sales? It depends on your target : public, companies or a short list of potential clients. Using the Mac App Store and Microsoft Store with their APIs to check if the program has been bought or using inApp purchase to activate the license could be a solution. If you distribute yourself choose a merchant of records (to avoid getting lost in paperwork and bookkeeping) like Gumroad, LemonSqueezy, Paddle, GoCardless, 2checkout and so many others. If you want to sell yourself the best solution is Stripe (or Paypal with the risk they cancel the account or some orders when they want). If you have only one software to sell use a simple website and add "buy" buttons connected to the resellers or payement sites. If you have more than one site you can open an online store with LiteCart (light, easy and simple to use) or more complex solution not adapted to softwares selling like Prestashop or WooCommerce. - What to use for producing PDF content? It depends on what you need on the PDF. TMS Software has a library for that and you can also try "FPDF-Pascal" open source project or reporting systems like Fast Reports. - What to use for internal product database? (leaning to either SQLite, Firebird, or IBLite) It depends on what you will store in it. If you use the latest SQLite driver and release you can't encrypt the database except by buying the encryption module from SQLite.org IBLite is limited is database sizes and encryption. (Embarcadero has offers for IBToGo for software publishers) Firebird is a good choice, but you'll have to maintain the DLL and update it if security issues are detected. - What to use to product help files (all embedded within executable, some in exe/some on website, all on website)? I use Help'n Doc. A good product simple to use, stable, with many possibilities and export formats. - Font oddities with VCL TCanvas If you have weird things, open issues on the quality portal. - Thinking about when/if to consider adding Skia and where to start with it Using Skia is simple : you only have to activate it on your project. It doesn't change our code to draw on TCanvas. Just try it. (it could change the behavior you have with fonts) Share this post Link to post
Paul Dardeau 0 Posted yesterday at 02:32 PM 19 hours ago, Dave Novo said: Welcome to the Delphi world. There are lots of tools available for many of the questions your asked. Have a look at the subforum on this site and search for various tools and you will see many examples. Most of the tools have been around for a long time, and are very feature complete and differ by subtleties of usage etc. Delphi Third-Party - Delphi-PRAXiS [en] -for the diagrams, I know both TMS Software and Developer Express have flowcharting tools you can leverage. There are other lesser known ones that are available. Just google "delphi flowchart component" -Similar with Help tools. We used Help and Manual and liked it, but there are many other tools equally as valid. These do not even have to be delphi specific. -Please describe what "font oddities" you are seeing in more details. -Without knowing in more detail what you want, recommending a database is just throwing darts against the wall. All have their pros and cons. Thanks Dave. Much appreciated! I will have a look at all of the options you suggested. Share this post Link to post
Paul Dardeau 0 Posted yesterday at 02:33 PM 5 hours ago, Keesver said: For the diagrams: take a look at Graphviz. This is an open source project with a lot of traction. It works like an engine, you pass your data to the 'engine' and get a description of the diagram in return. The 'description' can be an SVG document that you can display using a browser or it can be a json document that you parse in your code and paint onto a canvas. The engine can be a dll, executable or external service. Graphiz can handle a many different diagrams. Thanks Keesver. Much appreciated! I will have a look at Graphviz. I didn't realize it was something you can use like an engine. Share this post Link to post
Paul Dardeau 0 Posted yesterday at 02:34 PM 3 hours ago, Patrick PREMARTIN said: - What to use for generating and managing license keys? Many solutions are available from open source (check OnGuard) or expensive tiers dependent. I've developed my own, which is currently being deployed on all my software, with an online backoffice and a Delphi client unit. A simple use of keys to activate or not the software by code according to its state of activation. (I'm distributing it on a monthly or yearly hosting basis, and will soon be offering it for sale). - What to use for online sales? It depends on your target : public, companies or a short list of potential clients. Using the Mac App Store and Microsoft Store with their APIs to check if the program has been bought or using inApp purchase to activate the license could be a solution. If you distribute yourself choose a merchant of records (to avoid getting lost in paperwork and bookkeeping) like Gumroad, LemonSqueezy, Paddle, GoCardless, 2checkout and so many others. If you want to sell yourself the best solution is Stripe (or Paypal with the risk they cancel the account or some orders when they want). If you have only one software to sell use a simple website and add "buy" buttons connected to the resellers or payement sites. If you have more than one site you can open an online store with LiteCart (light, easy and simple to use) or more complex solution not adapted to softwares selling like Prestashop or WooCommerce. - What to use for producing PDF content? It depends on what you need on the PDF. TMS Software has a library for that and you can also try "FPDF-Pascal" open source project or reporting systems like Fast Reports. - What to use for internal product database? (leaning to either SQLite, Firebird, or IBLite) It depends on what you will store in it. If you use the latest SQLite driver and release you can't encrypt the database except by buying the encryption module from SQLite.org IBLite is limited is database sizes and encryption. (Embarcadero has offers for IBToGo for software publishers) Firebird is a good choice, but you'll have to maintain the DLL and update it if security issues are detected. - What to use to product help files (all embedded within executable, some in exe/some on website, all on website)? I use Help'n Doc. A good product simple to use, stable, with many possibilities and export formats. - Font oddities with VCL TCanvas If you have weird things, open issues on the quality portal. - Thinking about when/if to consider adding Skia and where to start with it Using Skia is simple : you only have to activate it on your project. It doesn't change our code to draw on TCanvas. Just try it. (it could change the behavior you have with fonts) Thanks Patrick. Much appreciated! I will have a look at all of the options you suggested. Share this post Link to post
Patrick PREMARTIN 85 Posted yesterday at 05:07 PM For the graphics you also have https://www.tmssoftware.com/site/diagram.asp or can be inspired by https://github.com/tothpaul/DelphiTips.LinkEditor from @Paul TOTH Share this post Link to post
Paul Dardeau 0 Posted yesterday at 06:35 PM 1 hour ago, Patrick PREMARTIN said: For the graphics you also have https://www.tmssoftware.com/site/diagram.asp or can be inspired by https://github.com/tothpaul/DelphiTips.LinkEditor from @Paul TOTH Thank you Patrick. Much appreciated! I will have a look at both. Share this post Link to post