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

Archive for the ‘Delphi’ Category

One of the #EKON20 running gags: Raize condition

Posted by jpluimers on 2016/11/11

When Ray Konopka enters the room you have a Raize condition.

Via the EKON20 sessions, it made its way into the workshop If you thought you could do multi-threading, then play “The Deadlock Empire” games – Entwickler Konferenz

–jeroen

Posted in Conferences, Delphi, Development, EKON, Event, Software Development | Leave a Comment »

Fixing `Unable to create ModelMaker Tools Shared Directory` and `Cannot create file “C:\HungarianTypeLookup.txt”. Access is denied.`

Posted by jpluimers on 2016/11/10

Like many Delphi 3rd party product, new ModelMaker Code Explorer (often abbreviated as MMX) releases have not been as thick as in the heydays (look at the history for versions 7, 8 , 9, 10, 11 and 12).

Unlike a lot of products it is still there, still very stable and hasn’t been acquired which it means it is available for a wide range of Delphi versions. So I still use it, but know certain issues will likely be never solved.

One of these issues is running ModelMaker Code Explorer as a different user than the installing user. In the authors words:

You need to install MMX as the same user that will run MMX.
MMX does not support running as a different user than the one installed.

This requirement becomes increasingly difficult to satisfy. This especially happens in more security conscious organisations where there is a clear distinction in rights between users that can install software and the ones that use the software. But it can also happen when you switch users because of infrastructure changes (new Windows domain, no Windows domain, etc).

Delphi itself copes reasonably well with that, as does GExperts, but MMX doesn’t. Despite the writeup on How to verify a Code Explorer installation? it lacks two things:

  1. explaining the below kinds of error messages when you run MMX with a different user than you installed MMX
  2. explaining some easy steps to fix this

As I roam a lot, I’ve spent about a day fiddling and writing up the below information:

Read the rest of this entry »

Posted in Delphi, Development, ModelMaker Code Explorer, Software Development | Leave a Comment »

Old Google Charting API: tools for still using them

Posted by jpluimers on 2016/11/10

While mocking the ScaleMM documentation, I bumped into a chart that I thought was an image, but is in fact generated by the (now deprecated) Image Charts API from Google.

In fact it is generated on the fly from a URL: http://chart.apis.google.com/chart?chxr=0,0,16|1,0,14682…&nonsense=something_that_ends_with.png

Compare the two below. They are identical (:

Static ScaleMM1 comparison chart

Static ScaleMM1 comparison chart

URL based ScaleMM1 comparison chart

URL based ScaleMM1 comparison chart

Even though the API is deprecated Google has no plans to turn it of, so it still works and is the easiest way to get charts into a Markdown or reStructuredText document.

In practice, it doesn’t matter if you use the chart.apis.google.com or chart.googleapis.com domain: they give the same results the same.

As I wanted to convert the results.txt to a chart, I dissected the above URL, looked up the definitions of the URL parameters (the trickiest: cds for lxy graphs and the combination of chds and chxr, easier: chls) and created a new URL for the chart below.

Read the rest of this entry »

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

Locking Is there a good open source MREW lock object out there that – Supports…

Posted by jpluimers on 2016/11/09

Summary of the  Locking Is there a good open source MREW lock object out there thread:

Don’t use MREW. Too many bugs in any implementation, and too easy to make deadlocks.

Use other locking mechanisms that are lighter, easier to understand and therefor less prone to mistakes.

–jeroen

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

The SelectiveDebugging plug-in now supports Delphi 10.1 Berlin.

Posted by jpluimers on 2016/11/08

This post is a reminder to myself that this plugin exists at all.

Hopefully by this time it supports more recent Delphi versions as well; when scheduling this post, it supported from XE to 10.1:

My SelectiveDebugging plug-in now supports Delphi 10.1 Berlin. The updated download can be found at the end of the corresponding blog post:… – Uwe Raabe – Google+ [WayBack]

–jeroen

via:

Posted in Delphi, Delphi 10 Seattle, Delphi 10.1 Berlin (BigBen), Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Delphi XE6, Delphi XE7, Delphi XE8, Development, Software Development | Leave a Comment »

Delphi Continuous Integration: When you get E2202 “Required package ‘rtl’ not found” or F1027 “Unit not found: ‘System.pas'”

Posted by jpluimers on 2016/11/08

If when setting up Continuous Integration (CI) with Delphi and you get errors like E2202 "Required package 'rtl' not found" or F1027 "Unit not found: 'System.pas'", then something is wrong with your library path on the CI server.

Before going into the details of why, the quick solution is to set either of these environment variables in your build script

  • Delphi 2007, 2010: Win32LibraryPath
  • Delphi XE and up: DelphiLibraryPath

Now back to the details of why these might not be set, most information is from my Delphi build automation workshop.

Read the rest of this entry »

Posted in Delphi, Delphi 10 Seattle, Delphi 2007, Delphi 2009, Delphi 2010, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Delphi XE6, Delphi XE7, Delphi XE8, Development, Software Development | 1 Comment »

EKON 20 link archive – anniversary edition of the famous Delphi related conference with lots of English sessions

Posted by jpluimers on 2016/11/03

My EKON20 link archive so I can refer to it through web.archive.org:

–jeroen

via: EKON 20 – anniversary edition of the famous Delphi related conference with lots of English sessions « The Wiert Corner – irregular stream of stuff

 

 

Posted in Conferences, Delphi, Development, EKON, Event, Software Development | Leave a Comment »

Delphi XE2 sanctuary lib galore…

Posted by jpluimers on 2016/11/02

Anyone who knows how to work around this? It happens every once in a while right after logging in over RDP to a VM with running Delphi XE2 (but similarly also in other Delphi versions like XE7):

---------------------------
Error
---------------------------
Access violation at address 74FD82A4 in module 'shell32.dll'. Write of address 00000014.
---------------------------
OK Details >>
---------------------------

With the below stacktrace including the sanctuary which always give me the creeps.

http://qc.embarcadero.com/wc/qcmain.aspx?d=139126 (which – like all IDE submitted bug reports – is private hence the copy at https://gist.github.com/jpluimers/6d8c0f29be107a83e48a5fd035900f74 ).

Read the rest of this entry »

Posted in Delphi, Delphi XE2, Delphi XE7, Development, QC, Software Development | 2 Comments »

nst/JSONTestSuite: A comprehensive test suite for RFC 7159 compliant JSON parsers

Posted by jpluimers on 2016/11/01

Cool: nst/JSONTestSuite: A comprehensive test suite for RFC 7159 compliant JSON parsers

Which is the result of the presentation seriot.ch – Parsing JSON is a Minefield 💣[WayBack]

Both the tests and presentation are well worth reading.

The graph gives me ambivalent feelings and make me wonder how various .NET and Delphi based JSON parsers stack up.

I wonder how Delphi and C# libraries stack up against these results especially since questions like What is the best JSON library to use for Delphi 10.1? To read and write JSON. – Godfrey Fletcher – Google+ [WayBack].

Hopefully the results by David Berneda will be published soon: I’ll do a quick test with TeeBI json import and the different libraries (System.Json, SuperObject etc)

Edit: Stefan Glienke mentioned he wrote a DUnit testsuite at http://pastebin.com/k5ktBxh9 [WayBack] that shows the built-in TJSONObject [WayBack] parser fails at least 25 of the tests.

–jeroen

via: David Berneda – Google+ [WayBack]

Read the rest of this entry »

Posted in .NET, C#, Delphi, Development, JavaScript/ECMAScript, JSON, Scripting, Software Development | 1 Comment »

EKON 20 – anniversary edition of the famous Delphi related conference with lots of English sessions

Posted by jpluimers on 2016/11/01

Next Monday-Wednesday (7th till 9th of November) will the the 20th edition of the famous Delphi related EKON conference and post-conference workshops at the Hotel Meliá Düsseldorf.

It will be a blast, not the least because it’s an anniversary.

There are still a few spots left, so drop me a note if you’ve not reserved yet as I can get you a discount code.

Below is the the speaker line up. It’s an awesome bunch of guys and there’s plenty coverage for English speaking attendees: English sessions are below the speaker list.

Speaker line up:

  • Andrea Magni – Freelancer
  • Arnaud Bouchez – Synopse
  • Arne Limburg – OPEN KNOWLEDGE
  • Bernd Ua – probucon Business Consulting
  • Daniel Wischnewski – OCTAX Microscience
  • Girish Patil – Gnostice
  • Jens Fudge – Archersoft Aps
  • Jeroen Pluimers – Wiert.me
  • Joachim Dürr – Joachim Dürr softwareengineering
  • Jörg Neumann – Acando
  • Marco Cantù – Embarcadero Technologies
  • Marco Frodl – Thinktecture
  • Matthias Eißing – Embarcadero Germany
  • Max Kleiner – kleiner kommunikation
  • Peter Schütt – TimoCom Soft- und Hardware
  • Ray Konopka – Raize Software
  • Rüdiger Kügler – Wibu-Systems
  • Sebastian Gingter – Thinktecture
  • Stefan Glienke – Aagon
  • Steffen Jahr – Thinktecture

English sessions and workshops:

Read the rest of this entry »

Posted in Conferences, Delphi, Development, EKON, Event, Software Development | 1 Comment »