Jump to content

Vincent Parrett

Members
  • Content Count

    779
  • Joined

  • Last visited

  • Days Won

    57

Everything posted by Vincent Parrett

  1. Vincent Parrett

    Issue with UsesCleaner..

    It's not really about personal preference, but using the correct unit namespaces, you are asking less of the compiler when it comes to finding units and resolving types etc. This improves compile times and results in less memory usage by the compiler. Unless you are writing code that must compile on versions earlier than XE2 you should be doing this.
  2. Vincent Parrett

    Issue with UsesCleaner..

    @Uwe Raabe any chance you could put this on github? I think a lot more people would be able to find it then.
  3. Vincent Parrett

    64 bit compiler running out of memory

    Perhaps this will help
  4. Vincent Parrett

    64 bit compiler running out of memory

    I can definitely recommend this tool. I ran it over my 4M line project group and it did a fantastic job. The only things I had to manually fix where where I was referencing a type or function with the unit name, e.g SysUtils.StringReplace(....) had to change to System.SysUtils.StringReplace(....). This will also speed up the compile time as the compiler spends less time doing namespace lookups.
  5. Hi All For those who are interested, I have made some progress on this project, and have uploaded an installer with the command line tool and IDE plugins for XE2-10.4 - it's still very much an alpha version (not feature complete or stable) but at least shows the direction I'm heading in. I have added some quick notes on how to get started with dpm https://github.com/DelphiPackageManager/DPM/blob/master/GettingStarted.md The installer can be found here https://github.com/DelphiPackageManager/DPM The IDE plugin is still a bit rough around the edges but reasonably stable. Note that installing design time packages is still being worked on. Most of my open source projects have package binaries under the releases tab (the getting started notes show what to do with them). It's still some way from being ready for production use, we are still working on a website/package repository. If you are a library author, please do take a look. Creating packages is not at all difficult.
  6. Vincent Parrett

    DPM Package Manager - Progress update

    Hi Wagner I'm working towards the design time support, it will take a while but I'll get there eventually. Once I have it working I'll email you again and we can see how it will work with your products.
  7. Yes it's a custom written dotnetnuke module (written in c#) - the part that interacts with stripe is quite small. You need to refrence a stripe javascript file on the page, that is the part that actually handles the card number and submits it to stripe, that gives you back a token that you then use to submit a payment request. Our c# code never see's the credit card details, that is all handled client side (in the browser using the stripe api js). See https://stripe.com/docs/payments/accept-a-payment-charges
  8. No it wasn't that much, I think the fees were around AUD$250 (on the original purchase) and the refund around AUD$3000 - not in the office right now to check.
  9. The key is "There are no fees to refund a charge, but the fees from the original charge aren’t returned."
  10. https://stripe.com/docs/refunds#:~:text=There are no fees to,a refund cannot be canceled.
  11. I can highly recommend stripe - https://www.stripe.com - very reliable and they pay weekly (you can choose the payment frequency). My only gripe is that they do not refund the fees when making a refund (apparently due to visa not refunding them) - had a case a few weeks ago where a customer accidently ordered the wrong number of licenses and the partial refund cost me several hundred dollars in fees! I have tried many different payment processors over the years, in my experience, the one's aligned with banks tend to have the worst tech and support.
  12. We are delighted to announce the Release of Continua CI 1.9.2. We have added the following new features: Export and Import: You can now export one or more configurations to a file and import them back from the file into Continua CI. Requeuing Stages: Requeue a failing stage without restarting the build. Multiple Daily Cleanup Rules: Each type of build by-product can now have a different shelf life. https://www.finalbuilder.com/resources/blogs/introducing-the-release-of-continua-ci-version-192 Continua CI is a low cost, easy to use Continuous Integration Server which includes first class support for Delphi (using FinalBuilder or MSBuild) and version control integration with Git, Mercurial, Subversion and more. https://www.finalbuilder.com/resources/blogs/building-delphi-projects-with-continua-ci
  13. Yep, that's the main reason we added the feature for, we find uploading to chocolatey fails occasionally - it's so nice to be able to just try again - we've been dogfooding this feature for a while here and I've had to use it a few times now. Yes, you can certainly edit the exported file. It will be checked for validity when imported - that happens before the change is committed (the import is done in a transaction), so if there are errors in the file nothing bad should happen (this is why this feature took so long to develop!).
  14. FinalBuilder is a fully featured automated build tool, which supports Delphi 3 to 10.4, along with C++Builder 4 or later. FinalBuilder makes it simple to automate your entire build process, from compiling your Delphi projects to compiling and uploading installers, creating ISO's. There are over 600 built in actions, with support for Git, Mercurial, Perforce, Subversion, TFS and many other version control systems. Unlike xml or batch file based systems, with FinalBuilder you can easily debug your build process, with breakpoints, step over, step into etc. Of course FinalBuilder also integrates with Continua CI - our continuous integration server product, and with other CI servers such as Jenkins. Thousands of Software Developers rely on FinalBuilder to automate the build, test and release process. If you are not using FinalBuilder to automate your builds, you are missing out. Download a fully functional 30 day trial version today.
  15. Vincent Parrett

    strange problem with psftp lib

    I just had a quick look and it doesn't inspire a lot of confidence. I'm about to evaluate this library - https://www.devart.com/sbridge/ for SFTP (and SSH, FTPS, FTP) - currently using Secureblackbox (.net version) but looking for something faster and more reliable.
  16. This looks to be just what I needed (javascript engine with com/IDispatch support), but like others, I'm torn on whether to use chakra core given MS have pretty much abandoned it (apart from security fixes). The 'community' doesn't seem to be achieving much, that may just be a timing thing (covid). I'm definitely going to take a look at this though, I need something to replace ActiveScripting - I've looked at a bunch of libraries (yours included) over the last year and none had com/IDispatch support, or if they did they were missing other features.
  17. Vincent Parrett

    Tools API - Changing Key Assignment

    I do this to remap IDE Insight (Ctrl + .) since I use Ctrl+. for the procedure list (old habit from coderush days) - however the IDE has a habit of resetting it while I'm working so I find myself having remap it again several times a day. I thought about writing a plugin to just fire a timer to periodically check if it had reset and then change it again 😉
  18. Vincent Parrett

    Delphi's code formatter vs. GExperts' code formatter

    Another issue. Right now there is a single setting for Math operators, unfortunately that leads to ICompiler = interface function GetSearchPaths : IList<string>; getting formatted as ICompiler = interface function GetSearchPaths : IList < string >; which is rather unfortunate. If GExperts was on github I would fork it, try to fix and submit a pull request.. not sure how that works with sourceforge?
  19. Vincent Parrett

    Delphi's code formatter vs. GExperts' code formatter

    You know what would be nice for the formatter - an option to format on save. Not sure how hard this would be to implement but I'd love to see this.
  20. Vincent Parrett

    Delphi's code formatter vs. GExperts' code formatter

    I'm just trying to format the code for a project.. the GExperts formatter does a much better job than the built in one (in 10.4 at least) - one thing that bugs me (with both) is how it indents guid attributes on interfaces so ICompiler = interface ['{4A56BA53-6ACD-4A5D-8D55-B921D6CDC8A0}'] becomes ICompiler = interface ['{4A56BA53-6ACD-4A5D-8D55-B921D6CDC8A0}'] There doesn't seem to be any way to control this. Also some comment formatting gets messed up const //options for IACList2 ACLO_NONE = 0; // don't enumerate anything ACLO_CURRENTDIR = 1; // enumerate current directory ACLO_MYCOMPUTER = 2; // enumerate MyComputer ACLO_DESKTOP = 4; // enumerate Desktop Folder ACLO_FAVORITES = 8; // enumerate Favorites Folder ACLO_FILESYSONLY = 16; // enumerate only the file system gets changed to const //options for IACList2 ACLO_NONE = 0; // don't enumerate anything ACLO_CURRENTDIR = 1; // enumerate current directory ACLO_MYCOMPUTER = 2; // enumerate MyComputer ACLO_DESKTOP = 4; // enumerate Desktop Folder ACLO_FAVORITES = 8; // enumerate Favorites Folder ACLO_FILESYSONLY = 16; // enumerate only the file system I turned on Align var/const statements at position 30 and it comes close const //options for IACList2 ACLO_NONE = 0; // don't enumerate anything ACLO_CURRENTDIR = 1; // enumerate current directory ACLO_MYCOMPUTER = 2; // enumerate MyComputer ACLO_DESKTOP = 4; // enumerate Desktop Folder ACLO_FAVORITES = 8; // enumerate Favorites Folder ACLO_FILESYSONLY = 16; // enumerate only the file system use At position will not always work. I tend to use tabs to align them manually after the longest line in the block. So in the original (pre format) version there are tabs before the = and before the // - not sure if this is possible in the formatter without doing some block analysis.
  21. Anyone know how to detect specific update version in compiler defines. I'm already doing {$IF CompilerVersion >= 25.0} but I need to detect compiling under 10.2.2 vs 10.2.3 etc
  22. Vincent Parrett

    Detecting update versions in defines

    Thanks for the input folks. This has all become a moot point as I realised I can't have 10.2.0/10.2.1/10.2.2/10.2.3 installed at the same time, so it's likely I'll just support the latest patch version for each compiler version. That said, @Uwe Raabe shared (privately) how he handles this (tools api change) in MMX, that will allow people to compile the project with older patch versions themselves if needed.
  23. Vincent Parrett

    Detecting update versions in defines

    Thanks. I have it working, but it does introduce a positioning issue with the include statement, can only be included after the uses clause and that uses clause must include the unit with the identifier. Not a huge deal in my case but could be a bit of a gotcha if you were using that same include file to ifdef the uses clause itself!
  24. Vincent Parrett

    Detecting update versions in defines

    I suspected as much. It's a change in the tools api I needed to detect, which was added in 10.2.2 . In any case I can't have different patch versions installed to compile against anyway so I guess.
  25. 404 - did you forget to make the repo public?
×