The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • My Flickr Stream

  • Pages

  • All categories

  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 1,854 other subscribers

Archive for the ‘Delphi’ Category

Using escape characters in GExperts Grep replace – twm’s blog

Posted by jpluimers on 2019/06/12

Reminder to self: check out the the support for proper escaping special characters (like \t, \r, \n or x20 for tab, carriage-return, line-feed or space) in GExperts [WayBackUsing escape characters in GExperts Grep replace – twm’s blog

Solves:

Via: [WayBack] If you enable regular expressions in the GExperts Grep search form, you can search for escape sequences like \t which is expanded to a tab character or … – Thomas Mueller (dummzeuch) – Google+

–jeroen

Posted in Delphi, Development, GExperts, Software Development | Leave a Comment »

Cyclomatic Complexity of switch case statement – Stack Overflow

Posted by jpluimers on 2019/06/12

For my archive: [WayBack/Archive] Cyclomatic Complexity of switch case statement – Stack Overflow.

Ultimate reference: [WayBack/Archive] NIST Special Publication 500-235: Structured Testing: A Testing Methodology Using the Cyclomatic Complexity Metric

Via: [WayBack/Archive] I have a question regarding Cyclometric Complexity… IF versus CASE… – David Hoyle – Google+

–jeroen

Posted in .NET, C#, Conference Topics, Conferences, Delphi, Development, Event, Software Development | Leave a Comment »

JWT authentication with Delphi

Posted by jpluimers on 2019/06/11

Nice articles on OAuth2, JWT and other authentication mechanisms:

via [WayBack] Ondrej Kelle – Google+

–jeroen

Posted in Authentication, Delphi, Development, Power User, Security, Software Development | Leave a Comment »

Even perpetual Delphi licenses require an active maintenance support or contacting the Sales/Renewal team to allow re-install on a fresh machine

Posted by jpluimers on 2019/06/11

Edit 20190612

It seems all the fuzz sort of got restored: if you have an old product, not under maintenance support, then the registration count has been bumped and can be bumped further through the sales/renewal department.

This got posted a few hours after my blog post got live (the WayBack link does not archive all comments, sorry for that, that’s why I quoted toe comment):

[WayBack] From the GM: New Updates and Changes to the Registration “Bumps” Policy [UPDATED] – Blog – Developer Tools – IDERA Community

Policy Update: We still receive occasional comments on this and want to make sure we are clear on our Policy. Registration limits were introduced a long time ago with very valid use cases, but many of these are now outdated. We still do them, just now they get approved by Account Management (Sales/Renewals) vs. Support. Further, we have done several auto-bumps for everyone that should limit these issues altogether (and will do more as needed). As communicated, over the summer, we will work on a more automated way to increase registration limits through the self-service portal.

Original article 20190611

Last month, people found out that retroactively, Embarcadero has changed the terms of the license agreements on products sold with a perpetual license:

In order to re-install those products, often a bump in license count is needed. That bump now requires an active maintenance subscription which has a substantial yearly cost.

This is yet another sign that Embarcadero parent company Idera is on their way towards becoming like Oracle or Computer Associates: hiding information behind account walls, and by all means trying to squeeze out money of older products.

I think the move is illegal in several countries, especially with products sold to private persons. Uwe Raabe agrees with me on that:

I am not sure they would get away with that – at least here in Germany. As long as the customer actually paid for the perpetual license (this excludes the CE), the ability to use it legally cannot be prohibited just because there is no current support contract. At least a reasonable fee for the registration bump would perhaps be acceptable, but definitely not denying it completely.

If you still own Delphi licenses, and are on maintenance for them, a path you might take is to switch to a local installation (on a separate machine, preferably virtual machine) of the ELC (formerly Belise) licensing server together with a named license.

That requires your machines to be in touch with that ELC service (you can reach it over a network connection, even via a tunnel) every 30 days to stay active.

Another way is to :

  • always install in virtual machines, and keep a backup-history of those virtual machines at hand
  • use different user names for doing different Delphi work (but be aware that a lot of Delphi tools and component suites still insist on installing as Administrator, therefore putting all the settings in that administrative user)

Note that :

  • a Delphi license is bound to a Windows computer NAME, not a physical fingerprint of the machine
  • it is likely easier to keep backups of the ECL/Belise server than of a full development machine
  • ELC/Belise requires Java (JRE 1.5 or higher according to ELC Admin Guide.pdf ), which has it’s own licensing issues
  • Though ELC stands for “Enterprise License Server”, it works for one-man shops equally well as for enterprises (heck: for enterprises it is likely more work as they usually want multiple groups of licenses users)

So renaming a machine will already invalidate your license (but you can usually restore that).

Background reading:

Downloads (.bin files are for Linux x86 or x86_64; .exe files for Windows Win32 or Win64):

 

 

–jeroen

Read the rest of this entry »

Posted in Delphi, Development, Software Development | 3 Comments »

Re-read “I am looking for a good replacement for INI files for storing large/complex configuration”

Posted by jpluimers on 2019/06/06

Reminder to re-read [WayBackI am looking for a good replacement for INI files for storing large / complex configuration. So far I have used JvApplicatoinIniStorage + a custom INI f… – Thomas Mueller (dummzeuch) – Google+

INI files are textual and allow for comments. They are not good at large bits of information, and are hard to compare because the order is unimportant.

Alternatives like JSON or DFM have similar limitations.

XML is too chatty, and hard to get right by humans.

Related: [WayBack] JSON as configuration files: please don’t

–jeroen

Posted in Delphi, Development, Software Development | Leave a Comment »

Working with big data databases in Delphi – Cassandra, Couchbase and MongoDB (Part 3 of 3) – grijjy blog

Posted by jpluimers on 2019/06/06

Reminder to self to check out [WayBackWorking with big data databases in Delphi – Cassandra, Couchbase and MongoDB (Part 3 of 3) – grijjy blog and see if by now it supports authentication.

Repository: grijjy/DelphiMongoDB: A Delphi driver for MongoDB

Via: [WayBack] We finish our trilogy on big databases with a Delphi driver for MongoDB. – Erik van Bilsen – Google+

–jeroen

Posted in Delphi, Development, Software Development | 1 Comment »

windows – How to simulate drop-down form in Delphi? – Stack Overflow

Posted by jpluimers on 2019/06/05

Since I might need it one day: [WayBack] windows – How to simulate drop-down form in Delphi? – Stack Overflow

Via [WayBack] for whatever reason this SO question from 2015 showed up in my rss stream as “new or updated”. Interesting though. – Thomas Mueller (dummzeuch) – Google+

–jeroen

Posted in Delphi, Development, Software Development | Leave a Comment »

GrijjyCloudLogger, remote logging for Windows, iOS, Android, macOS and Linux – grijjy blog

Posted by jpluimers on 2019/06/05

Interesting use-case based on ZeroMQ and Google Protocol Buffers: [WayBackGrijjyCloudLogger, remote logging for Windows, iOS, Android, macOS and Linux – grijjy blog.

Everything is Open Source at GitHub:

Via: [WayBack] The Grijjy team is proud to introduce our GrijjyCloudLogger, https://blog.grijjy.com/2017/08/22/grijjycloudlogger-remote-logging-for-windows-ios-android… – Allen Drennan – Google+

–jeroen

Related: For my research list: Delphi and ZeroMQ

Posted in Delphi, Development, Software Development | Leave a Comment »

rvelthuis/BigNumbers: BigInteger, BigDecimal and BigRational for Delphi

Posted by jpluimers on 2019/06/04

Cool library: rvelthuis/BigNumbers: BigInteger, BigDecimal and BigRational for Delphi.

It has many Unit Tests written with DUnit.

Via: [WayBack] This is truly very cool project, if need to do math with pretty large numbers, check this out… – Tommi Prami – Google+

–jeroen

Posted in Delphi, Development, Software Development | Leave a Comment »

delphi – Sorting TDictionary by a key of Integer in ascending order – Stack Overflow

Posted by jpluimers on 2019/05/30

Great answer on [WayBackdelphi – Sorting TDictionary by a key of Integer in ascending order – Stack Overflow by J… comes down to this:

var
  LDictionary : TDictionary<Integer, string>;
  LArray : TArray<Integer>;
...
  LArray := LDictionary.Keys.ToArray();
  TArray.Sort<Integer>(LArray);

I was trying the wrong direction (functional approach like LArray := LDictionary.Keys.ToArray.Sort(); ), but the above procedural solution works.

Members used:

–jeroen

Posted in Delphi, Development, Software Development | 1 Comment »