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,860 other subscribers

Archive for the ‘Delphi’ Category

Functions over read-only properties: you cannot mark a property as deprecated in delphi – via Stack Overflow

Posted by jpluimers on 2017/06/07

I learned one of the reasons you might want to use functions instead of read-only properties from properties – How can I mark a property as deprecated in delphi? – Stack Overflow [WayBack]:

Delphi hinting directives: deprecated, experimental, library and platform cannot be used on properties but can be on other members (like fields, procedures and functions).

Since a read-only property is very much like a read-only field, but fields cannot be read-only it can make sense to replace the read-only property with a function. Then on the function you can place hint directives.

This can help enormously refactoring large code bases where – because of size – you cannot perform a certain replacement in one step.

–jeroen

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

Embarcadero QualityCentral is dead; man-decades of customer work down the drain

Posted by jpluimers on 2017/06/05

Without announcing an actual date, right before the weekend Embarcadero killed their [WayBack] QualityCentral publicly accessible and search engine indexed issue database.

So I wrote this on Google Plus:

Embarcadero just flushed down the drain man-decades of work and useful information. Mainly nilling the work done by their customers to document and inform about known issues, knowing search engines indexed it well and having some hope it would assist into maybe some getting resolved.

The documentation has not been updated and still references qc.embarcadero.com, for instance from [WayBackdocwiki.embarcadero.com/RADStudio/Tokyo/en/Quality_Central

They say the web service is still up, but that likely will die at the snap of a finger as well. Besides, these links mentioned in QualityCentral web services guide are dead too:

These still work though:

So all is left are memories from the past. And dead links from Stack Overflow, blogs and other sites to a defunct repository.

Dead links: q=-site%3Aqc.embarcadero.com+qc.embarcadero.com%2Fwc%2Fqcmain.aspx even from for instance EDN: q=”qc.embarcadero.com”+site%3Aedn.embarcadero.com

Luckily some of the links have been saved in the WayBack machine: https://web.archive.org/web//http://qc.embarcadero.com/

It would have been better if Embarcadero had put some time to archive everything there.

I doubt they will. There was a habit of reclassifying bugs in QC as “feature requests” which continues in Quality Portal (which requires login and is not indexed by search engines so has way less value).

[WayBack] And here is why I think twice before spending time to report feature requests to QP. And even bugs/unexpected behavior are regularly being sweeped under the carpet reclassified as new feature… – Stefan Glienke – Google+

Memories:

Oh well, life goes on and relying on one development tool or vendor is never a good idea.

–jeroen

 

Posted in Delphi, Development, QC, Software Development | 18 Comments »

delphi – How do I parse a web URL? – Stack Overflow

Posted by jpluimers on 2017/06/01

It looks like the platform-neutral TIdURI from Indy solves some corner cases that WinInet.InternetCrackUrl doesn’t.

Someday I’ll check it against the .NET Uri class and report back about this.

An addition, you might want to extend it as it lacks some features: Indy, TIdURI.PathEncode, URLEncode and ParamsEncode and more | Marc Durdin’s Blog [WayBack]

–jeroen

Source: delphi – How do I parse a web URL? – Stack Overflow

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

Working around “[dcc32 Fatal Error] F2084 Internal Error: DBG3133” or “[dcc32 Fatal Error] F2084 Internal Error: MA1243

Posted by jpluimers on 2017/05/30

Since Google has a hard time searching G+: [WayBackAnyone ever encountered a “[dcc32 Fatal Error] F2084 Internal Error: DBG3133″… – G+ – Jeroen Wiert Pluimers:

Anyone ever encountered a [dcc32 Fatal Error] F2084 Internal Error: DBG3133 in XE8 or newer?

I get it in XE8 version 22.0.19908.869 intermittently on a huge* project when compiling or building.

If it occurs, I have to:

  1. restart the IDE
  2. delete all DCU files
  3. build

Without deleting the DCU files, even a build throws the error after restarting the IDE.

The project never throws an AV while compiling as described in [WayBackQC #127380: F2084 Internal error AV0B8A47D2-R3E1D3CF8-0 when compiling project unless the IDE runs out of memory (which I now resolved with DDevExtensions).

Every now and then on compile it also throws [dcc32 Fatal Error] F2084 Internal Error: MA1243.

For the other error, the same solution applies: if you don’t, then the next one is a [dcc32 Fatal Error] F2084 Internal Error: DBG3133.

Both errors occur during the Linking stage.

–jeroen

*huge as in that I needed DDevExtensions to work around [WayBack] Is there any tool that clears the Delphi memory overhead when a “build all” switches to the next project in a project group? XE8 constantly runs out of memory… – Jeroen Wiert Pluimers – Google+

 

Posted in Delphi, Delphi XE8, Development, F2084, QC, Software Development | Leave a Comment »

UsesHelperSetup.zip by Stefan Glienke for Delphi 10.0/1/2

Posted by jpluimers on 2017/05/25

[WayBack] Some while ago I started a plugin to easily add units to the uses clause just like you can do via quickfix in VisualStudio.I never actually polished it… – Stefan Glienke – Google+

UsesHelperSetup.zip download: https://1drv.ms/u/s!ArjIoB43KhwDg3Ju1tkHlJniN2WS (for now Delphi 10, 10.1 and 10.2: Seattle/Atlanta, Berlin/Big-Ben, Tokyo/Godzilla)

jeroen

 

Posted in Delphi, Delphi 10 Seattle, Delphi 10.1 Berlin (BigBen), Delphi 10.2 Tokyo (Godzilla), Development, Software Development | Leave a Comment »

Delphi 10.2 Tokyo Godzilla ISO and other download links including hashes

Posted by jpluimers on 2017/05/24

I thought I already posted this, but since hashes were mentioned at [WayBack] Still can’t get Rad Studio 10.2 to install on my laptop. It’ll install now, but then it can’t load several BPLs and then it crashes before the IDE gets … – Phillip Woon – Google+

From [WayBackcc.embarcadero.com/reg/delphi and [WayBackRad Studio Tokyo 10.2 | Board4All:

Read the rest of this entry »

Posted in Delphi, Delphi 10.2 Tokyo (Godzilla), Development, Software Development | 4 Comments »

Some interesting Delphi posts by Stefan Glienke – Spring4D maintainer

Posted by jpluimers on 2017/05/23

One of the Delphi programmers I keep an eye on is [WayBackStefan Glienke, the maintainer of the great Spring4D Delphi framework at spring4d.org.

His blog posts come in bursts, though his G+ posts are spreaded a bit more evenly.

Some of his recent posts and references:

–jeroen

Read the rest of this entry »

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

What to change after a fresh Delphi (RAD Studio) installation…

Posted by jpluimers on 2017/05/23

Reminder to self: document what I change, and borrow some from this interesting thread:

Just curious, what do you change after installing Studio? During all these (21!) years, the only thing I change is the editor keyboard settings to… – David Berneda – Google+

–jeroen

Posted in Delphi, Development, Keyboards and Keyboard Shortcuts, Power User, Software Development | Leave a Comment »

Wow, this parses in Delphi: `property Foo: string index 0 string read GetFoo;`

Posted by jpluimers on 2017/05/18

Quite a few interesting entries got posted after I published this compiler glitch:

Wow, this parses:

property Foo: string index 0 string read GetFoo;

Note the extra “string”.

Found this in an old piece of code so it must have been uncaught by the compiler for quite a while.

– Jeroen Wiert Pluimers – Google+

Some:

property DepartmentName: string index 0 program library uses unit interface string class read GetCustomDataX;

property Foo: string index 0 unit if library uses unit do not inline file else raise object if is nil read GetFoo;

–jeroen

Posted in Delphi, Development, Fun, Software Development | 2 Comments »

Anders Hejlsberg on Modern Compiler Construction | Seth Juarez | Channel 9

Posted by jpluimers on 2017/05/18

One of those “must watch” videos if you are remotely or more interested in how compilers influence our day to day coding activities.

The Red Dragon Book, first edition: Compilers. Principles, Techniques and Tools.

The Red Dragon Book, first edition: Compilers. Principles, Techniques and Tools.

It starts out with referring to the Dragon Book (well, actually the first edition of the Red Dragon Book, as there are three) describing the compilers as having front-ends consisting of a Lexer, Parser and Type Checker and back-ends consisting of Code Generator and Emitter. A full compilation is going through all five stages and there is an increasing cost using these traditional stages when going from syntax highlighting via collapsible regions to red squiggles and code completion will need to go further along those stages taking an increasing time – like seconds or even longer – whereas the user experience requires responses in ~ 100 milliseconds where his code might not even compile in the first place.

Then Anders goes on describing Roslyn, TypeScript and Compiler API JSON interfaces to them so you can run them as a service and keep compiler state, rebuilding just enough of the state on source code changes. He goes on talking about how Visual Studio, Visual Studio Code, Command-Line Compiler, Sublime Text and other tools (can) use these APIs to interact with the compiler so it keeps state of slowly evolving code of which the tools than can emit what they need.

Anders explains this much better and much more visually than I do: so it’s a highly recommended video.

Read the rest of this entry »

Posted in .NET, C#, Delphi, Development, Software Development | 2 Comments »