Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation on 10/31/22 in all areas

  1. The whole thing started with this topic. Due to lack of possibilities, I wrote my own update mechanism which noes not rely on any advanced stuff but still should be versatile enough. Since the initial version TAEUpdater got some improvements and things are looking great. Some more stuff was implemented like hash-based verification, messages, E-tag caching, separate internal, development and production channels, ability to downgrade to a previous version, etc. I'm running it in my main application for a while and it seems to do the job correctly. Since not all of us might update from an unauthenticated web server, now 3 different file providers are shipped: HTTP, flatfile and custom. HTTP uses Delphi's TNetHTTPClient, flatfile reads the files from a local disk and custom has all necessary events exposed via events. I also got rid of some personal dependencies (like compressing the update file or using System.Zip2) and now everything is handed to the user for the solution to be more... generic. I still use my own version discovery and comparison method to be able to determine which published one is "newer" but that is going to be my next step. As a workaround, you can call .LoadUpdateFile, check the new version in each ActualProduct.Files and call .Update manually. What it needs: - An update file containing the product, all its files and versions. You can build this with TAEUpdateFile.SaveToStream in AE.Updater.UpdateFile.pas - Update packages, which can be zipped or encrypted, on FTP, HTTP, custom protocol - doesn't matter as events should be in place for performing all these actions Plans for the future: - Getting rid of more dependencies, maybe it'll become a standalone updater package with no extras - By accomplishing the above the code will get closer and closer to be truly cross-platform (atm it's WIndows only) - Get rid of modern stuff (like generics) and implement proper versioning conditionals so the package can be compiled and installed on anything other than D11.2 - Really, really basic documentation on how to use... Disclaimer: further changes are on their way. I'll possibly add / remove events / splitting the component in multiple subcomponents which might make existing .DFMs failing to be streamed. Also, publish your new versions on the Internal channel if I might break the core functionality 😞 All words as one - I just wanted to give the existing Delphi community a chance to implement auto-updating feature to their applications without having to pay for the component or the backend. Feel free to check it out. And suggest ways of improvement of course 🙂
  2. PingPIng

    Tensorflow without python

    https://github.com/Pigrecos/TensorFlow.Delphi TensorFlow.Delphi provides a Delphi(Pascal)Standard binding for tensorflow It aims to implement the complete Tensorflow API in Delphi which allows Pascal developers to develop, train and deploy Machine Learning models with the Pascal Delphi(porting to free pascal in the future). Note: This is a work-in-progress. please treat it as such.Pull request are welcome
  3. dummzeuch

    Looking for a localization tool

    Gnugettext for Delphi (dxgettext) handles (VCL) forms.
  4. How do you guarantee that memfloorobjects.CreateBlobStream actually returns a TnxBlobStream? What is a TnxBlobStream? How is BlobStream declared? What is memfloorobjects? Why do you list memfloorobjects in the with and still reference it in the code so no one can see at a glance where it is used? Why do you use with at all as it only obfuscates the code here? What is GraphicClass and where it is used? Why is the try not directly after TBitmap.Create? Why do you cast to TnxBlobStream when Free is already declared in TObject? What object is created in that line? Neither b nor BlobStream are created in that line and those are the only objects you free.
  5. KHJ

    Looking for a localization tool

    For me a very good tool.
  6. Stefan Glienke

    Delphifeeds.com??

    That is exactly what I respond when someone tells me that Embarcadero should integrate TestInsight or Spring. Parnassus plugins ...
  7. Uwe Raabe

    Delphifeeds.com??

    That is one reason why I am sceptic when someone claims Delphi should support this feature or have that tool out of the box, while often there already exist 3rd party solutions covering all these. I would rather see Delphi step back and concentrate on its core functionality instead of constantly broadening the target. Either these have to compete for the limited resources or they are going to be abandoned like ever so often. Just buying a tool as a Delphi companion is only the start. It needs constant and sufficient investment to keep it going.
  8. gkobler

    Firebird - Monitor 2.5 / 3.0 / 4.0

    Fixed... thanks for the hint. :-)
×