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 4,262 other subscribers

Archive for July 3rd, 2018

Two reasons I love Visual Studio Code over Atom.io: built-in markdown support and vscode-markdown; just watch the CHANGELOG.md at master · neilsustc/vscode-markdown · GitHub

Posted by jpluimers on 2018/07/03

Boy, I love this so much: [WayBack] vscode-markdown/CHANGELOG.md at master · neilsustc/vscode-markdown · GitHub

Just a few of the screen videos:

  • Formula support
  • Table of Contents (ToC) support including leaving out individual headings:
  • On the fly list renumbering:
  • Image reference completion including image preview:

–jeroen

Posted in Development, Lightweight markup language, MarkDown, Software Development | Leave a Comment »

Delphi – ModelMaker Code Explorer history lists in the registry

Posted by jpluimers on 2018/07/03

ModelMaker Code Explorer does not allow you to edit the “most recently used” items in that you can use in various places, but luckily these history lists are all in the registry as keys under this base key:

HKEY_CURRENT_USER\Software\ModelMaker\MideX\#.0\Histories

There # is the major version number of ModelMaker Code Explorer (internally named MideX).

Under the base key, you can find these keys:

  • ExternalSpac  not figured out yet
  • InterfaceSupport not figured out yet
  • Object PascalParameters list limited to 60 individual parameters (“Modifier Name: Type = Default”)
  • Parameters list limited to 60 parameter lists in the “Edit Method” wizard.
  • PascalTypeNames list limited to 60 variable types
  • PascalVarLookup list limited to 60 variables (each of form “Variable: Type”) used in the “Add Explaining Variable” wizard.
  • PropArray array indexes used in the property editor
  • PropDefaultSpec default values of properties in the property editor
  • PropWriteParam write parameters in the property editor
  • RenameLocal not figured out yet
  • ResStrExternalFile not figured out yet
  • Surrounds not figured out yet
  • UsedUnits list limited to 30 entries of the uses list editor

If you made a typo anywhere, then just edit or delete these entries.

–jeroen

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

Delphi – directives are not conditionals

Posted by jpluimers on 2018/07/03

Directives are commands to the compiler such as {$D+} or {$WARN xxxx OFF}. Compiler defined conditionals are not “directives”, rather they’re used for conditional directives {$IF Defined(xxxx)} or {$IFDEF xxxx}, where xxxx can be NEXTGEN – Allen Bauer

It’s important to describe features right so everyone understands what you mean.

And note that you should end all your IFDEF with IFEND to stay compatible with the broadest set of Delphi versions possible.

–jeroen

Source: [WayBackdelphi – What is the use of NEXTGEN compiler conditional? – Stack Overflow

PS: Note the comment below by Remy Lebeau:

Note, in Delphi XE3 and later, you might also need to use {$LEGACYIFEND ON}  (http://docwiki.embarcadero.com/RADStudio/en/Legacy_IFEND_(Delphi)) in order to use {$IFEND} correctly, particularly if you have nested {$IF} and {$IF(N)DEF} blocks in your code.

A quick search for “LEGACYIFEND” “Delphi” “XE3” revealed this directive was indeed introduced in Delphi XE3, but not documented until XE4:

Brian Long documents how to get around the limitation that Remy commented about:

{$ifdef CONDITIONALEXPRESSIONS}
  {$if CompilerVersion >= 24.0}
    {$LEGACYIFEND ON}
  {$ifend}
{$endif}

It is in fact at the top of [WayBack] indy/IdCompilerDefines.inc at master · graemeg/indy · GitHub, which reminds me that there is now a git mirror of Indy at GitHub:

[WayBack] GitHub – graemeg/indy: Indy (Internet Direct) framework. This is an unofficial mirror repository which gets synced every 15 minutes. It contains the full history from the official Indy 10 SVN repository.

–jeroen

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