Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation on 07/18/22 in all areas

  1. Stefan Glienke

    TMethodImplementation and its uses

    FWIW I only use this to make my multicast events work on platforms where I don't have exactly that: handcrafted assembly code to do the parameter passing. And these run hundreds of times faster than using RTTI. You can turn on using RTTI instead of the asm code in Spring.Events Here is a simple benchmark result: asm (win32) Event invokes/ms: 14925 rtti Event invokes/ms: 205 I have already started digging more into the TMethodImplementation class to optimize its use for those platforms where I don't have the handcrafted asm. There are also libraries that avoid the overhead of the Delphi RTTI to do dynamic invocation by handling all the low level details: https://github.com/d-mozulyov/Tiny.Library#rtti but that requires doing the parameter passing via some stubs written in c asm
  2. David Heffernan

    Package SynEdit library as Dll

    Don't. Best option is to compile it directly into each project. Next best is to compile into a Delphi package. Direct inclusion is much more simple.
  3. vfbb

    svg

    Also Skia4Delphi (FMX & VCL). If it's just VCL, SVGIconImageList is the one that has better integration with Delphi controls because it has a TSVGIconImageCollection and TSVGIconVirtualImageList.
  4. MarkShark

    svg

    I've used: SVGIconImageList also: Image32 Good stuff!
  5. shineworld

    Trouble installing Python4Delphi

    Check in Options -> Language -> Delphi -> Library if you have: <your_libaries_path>\python4delphi\source <your_libaries_path>\python4delphi\source\vcl <your_libaries_path>\python4delphi\source\fmx
  6. When you deverlop a custom component it is a good idea to use a test project first in which you create an instance of the component in code. This allows you to debug the run-time behaviour of the component without endangering the IDE itself. Only when everything works as it should do you add it to a design-time package and install it, to validate the design-time behaviour. If you need to add a custom property or class editor these can also be developed and tested in the test project, by just doing what the IDE designer does for invoking them. I don't remember the details since it has been literally decades since I last needed to do this, but it can be done.
  7. Anders Melander

    Are the jcl and jvcl libraries still alive?

    Fork the repository. Create a branch on your fork. Apply the changes to your branch. Push the changes to your fork. Create a pull request to have your branch merged into the original repository.
  8. Anders Melander

    Package SynEdit library as Dll

    You can create a run-time package containing synedit (a run-time package is a DLL) and link against that but one way or the other you are going to create a dependency on synedit and compiling it directly into your project is the the option that will give you the least problems.
  9. vfbb

    Printing from Android Device

    I've never tried to print anything on Android, but on iOS, when sharing a PDF, the "Print" option appears in the system menu. If this happens on Android, it would be a very simple solution to implement. To make the PDF just use Skia4delphi, and to share the PDF, it's very simple, I even have a code ready (if you confirm that this solution works, I'll send it to you).
  10. Your book couldn't have come out at a better time for me! As a hobbyist I wrote my first commercial application for a friend about 3 years ago the old RAD way. I have been adding features and fixing bugs since then. As expected, I now have a big ball of mud. I had just started refactoring when the book was published. Every Delphi book I have purchased has paid for itself with even 1 tip, this was no different. I have found many useful suggestions in particular section 13.6.6 Arrays vs Cases. I had to laugh at myself reading 2.3.1 "the developed application looks as though the developers never saw a component they didn't like." CHECK
  11. No you don't. I understand why you used it but there are always better ways to solve a problem than using [weak]. Contrary to what the documentation states [weak] isn't named named after the type of reference. It's named after the design skills of people who choose to use it to manage references. 🙂
  12. dummzeuch

    Are the jcl and jvcl libraries still alive?

    That's exactly why I stopped contributing. Before the project moved to Github I had write access to the svn repository and could simply commit my changes, so for me the process has become much more complicated. Anders Melander has summed up the process on Github nicely.
×