Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation on 12/16/20 in all areas

  1. Dave Millington (personal)

    ANN: Parnassus Parallel Debugger

    A new IDE plugin aimed at helped debugging multithreaded apps! https://blogs.embarcadero.com/new-ide-plugin-parnassus-parallel-debugger/ The plugin: Displays all thread call stacks next to each other Lets you step over, run, etc a thread by itself, not the whole process Shows CPU usage by thread Editor integration to see where threads are executing, so you can easily see what other threads are in the same area of code and more... This has taken me five years to write! That said, most of that was downtime due to working too much time to spend time on this - this release is the result of working weekends since August. It's version 1, and I plan to add some more features over the next few months.
  2. Hello, here's a small Christmas present for you: There is a new release 6.0 of DEC - Delphi Encryption Compendium available, or put otherwise: DEC is back on track! 😉 The release can be found here: https://github.com/MHumm/DelphiEncry...eases/tag/V6.0 What is DEC? DEC is the Delphi Encryption Compendium open source library, a library containing cryptographic algorithms of the following categories: hash algorithms encryption algorithms key deviation functions CRC cryptographic pseudo random number generator format conversion classes What's new in V6.0 compared with the 5 year old V5.2 release? A complete list can be found in the last chapter of the included documentation. Supports D2009 - 10.4.1 Sydney Cross platform compatible if you turn off use of ASM in DECOptions.inc the hard to understand test program got reworked into unit tests test coverage got increased some bugfixes, like fixing the XTEA encryption algorithm or the included KDF2 turned out to be KDF1 instead implementation of the newest Whirlpool hash algorithm version implementation of KDF1, KDF2 and KDF3 key deviation algorithms changed unit structure to be more modular and better maintainable added some demo applications. The two FMX based ones are even available from Google Play (stemming from an earlier commit) added a 40+ A4 sized pages documentation most methods contain XMLDOC comments now So is it all over now, or are there plans for the future? Of course I know that this release didn't bring much new algorithms. But as far as my time allowes development shall continue (further project members are welcome!) I do have some plans for V6.1: Add the SHA224 hash, this is still missing Add SHA3 Add GCM block chaining mode for ciphers Add a first pasword hash algorithm, most likely bcrypt So much for today 😉 Cheers TurboMagic
  3. I'm just saying that it's very unlikely that there will be real world code that suffers. That said, I don't know about weak refs so that could be significant.
  4. dummzeuch

    gem found in vcl.forms

    I just found this code in vcl.forms in Delphi 10.2.3: function ShouldScale(const self: TCustomForm): Boolean; // this is just to make code more readable begin Result := self.FScaled and not (csDesigning in self.ComponentState) and ((self.Owner = nil) or not (LowerCase(self.Owner.ClassName) = 'teditwindow')) // we are not in an edit window and ((self.Parent = nil) or not (csDesigning in self.Parent.ComponentState) or not (csFreeNotification in self.Parent.ComponentState)); end; What is this comparison with 'teditwindow' about? Looks as if somebody had to add this to make the IDE behave. What if somebody's program uses a form called TEditWindow?
  5. Remy Lebeau

    Updated Community Edition

    That is exactly what the Community Edition is.
  6. Mike Torrettinni

    DynArraySetLength doesn't check for NewLength = OldLength

    I would file it if I had a case where the changes would have meaningful effect, but I don't have one. Maybe it's better not to waste their time on this.
  7. It's just a realloc of a block the same size, which is a null op and nothing happens. Unless you have a pathologically insane memory manager. But no memory manager I know of would do anything other than null op for this realloc.
  8. Dave Millington (personal)

    ANN: Parnassus Parallel Debugger

    Thanks Mike! I hope the editor markup makes the editor more pleasant / modern to use, even if you don't use multithreading. This GIF shows it: https://i1.wp.com/blogs.embarcadero.com/wp-content/uploads/2020/12/editor-before-and-after-7862533.gif?ssl=1 (Note for that to really shine, you need to edit your editor colour scheme to turn off solid backgrounds - just check the 'Use default' checkbox for each element, like a breakpoint, that changes the background colour.)
  9. Just a note: A check for old = new length is only sufficient if the array is of one dimension. Even if the length in the current dimension stays the same there can still be changes in the inner dimensions.
  10. Silver Black

    Updated Community Edition

    Good ol' times! IMHO, Delphi should have a restricted FREE environment of its IDE, to make small desktop utilities at least and for the bigger purpose of spreading Delphi knowledge to new generations of devs. If VS has that, why not to copy from it?
  11. David Champion

    git and Delphi tooling?

    @Lars Fosdal We are currently using Atlassian's SourceTree but after the comments in this thread I may try Fork. Kraken I discounted simply because the licensing is subscription only and without a perpertual license fall back. That one is a biggy for me. Have not renewed my Remobjects subscription for the very same reason.
  12. dummzeuch

    Updated Community Edition

    Even later, there were the Turbo Explorer Editions (Delphi 2006) which were also free.
  13. Dalija Prasnikar

    Weak reference is dangerous

    You are mixing apples and oranges. Weak references work fine and have their purpose when used in single thread scenario. Their purpose is not achieving some magical thread safety, but breaking reference cycles. I will say it again, assignment of any non trivial type in Delphi is not thread safe. Never has been. As soon as one thread is writing some data, all access to that data must be protected. There is no way around it.
  14. How it started. A brilliant tool that was miles ahead of anything else in its main sector. How it's going. A huge pile of bugs that is falling further and further behind the competition.
×