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 May, 2018

MMX – speed up your Delphi development, now maintained by Raabe Software

Posted by jpluimers on 2018/05/23

New home [WayBackMMX – speed up your Delphi development

Old home [WayBack] ModelMaker Tools

Thanks a lot to Gerrit Beuze for al the efforts and insights while he created and maintained MMX for such a long time

Thanks a lot to Uwe Raabe for taking over the maintenance and providing the binaries for free.

I have posted links to some archived site pages below, just in case anybody needs them (when QC went off-line after a while the Google Search failed to show search results for this; hopefully this will keep some of the information retrievable).

As a follow up to:

–jeroen

Archived links (in semi-random order) hopefully they survive the shutdown of the links:

Read the rest of this entry »

Posted in Delphi, Development, Diagram, History, ModelMaker Code Explorer, Software Development, UML | 2 Comments »

How does a relational database work – Coding Geek

Posted by jpluimers on 2018/05/23

An in-depth article that explains how a relational database handles an SQL query and the basic components inside a database.

Long read with good illustrations, worth every minute of your time: [WayBackHow does a relational database work – Coding Geek

Via: [WayBack] Quite interesting article not just about how to use relational databases but about how the various parts of them work. via +John Kouraklis – Thomas Mueller (dummzeuch) – Google+

As it is so long, here is the table of contents so you can get going:

–jeroen

 

Posted in Development, Software Development | Leave a Comment »

Delphi – when compiling consts doesn’t work…

Posted by jpluimers on 2018/05/23

Delphi has a lot of loose ends. With the extension of the language, it gets more and more. Or as Stefan Glienke formulated it:

It should all compile but it does not because currently what is a real const and what is a variable treated as const by the compiler is a f…ing mess and thus some combinations don’t work. If you have watched that C++ session recently posted here you know how const should be handled by a compiler in 2017.

[WayBack] The recent next gen compiler debate reminded me of this nice talk.This is about c++ but it shows off nicely what a high quality compiler can achieve in… – Christoph Hillefeld – Google+

Source [WayBackI don’t need a solution for this but wonder if Elements4 should compiles or not… – Paul TOTH – G+

–jeroen

Read the rest of this entry »

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

Delphi WSDL importer compiler defines

Posted by jpluimers on 2018/05/22

As a follow-up on Delphi WSDL default importer settings, you can use these compiler defines to increase output.

Output that the built-in Wizard will never show you (that is also the reason you will not see any errors like access violations in the IDE).

TL;DR

Always use the command-line WSDL importer WSDLImp as it has the same default options as the IDE.

The command-line WSDL importer called WSDLImp does show error messages, but in case of an error still continues writing the wrong .pas file.

Syntax:

"C:\Program Files (x86)\Embarcadero\Studio\19.0\bin\WSDLImp.exe" -DD:\Playground\iECK_ImportWSDL "D:\Playground\iECK DT2.0 services v2.1.1\wsdl\ECK-DT2-CatalogService-v2.1.1.wsdl"

When debugging the code, I found out there are many conditional defines you can enable so it shows more output. Output that greatly helps to pin-point issues while importing more complex WSDL, especially when the WSDL has include or import elements.

These are the defines:

  • TRACK_MEMORY this requires the FastMM4 unit in the path
  • SHOW_XML_INFO
  • LOG_TYPES_DUMP
  • LOG_TYPES_LOOKUP
  • LOG_TYPES_READING
  • LOG_TYPES_SORTING
  • LOG_TYPES_UNWIND
  • LOG_TYPES_WRITING

The really odd thing is that there is a hidden command-line option -debug which does not automatically enable these, but does use SHOW_XML_INFO which seems enabled by default and writes an output file with extension .xml in addition to .pas, where the XML has an overview of the parsed data types.

I am going to fiddle around to see if I can enable all of the LOG_ entries from the command-line in a simple way.

When you debug the WSDLImp tool, ensure these two directories are on the unit search path:

  • $(BDS)\source\soap
  • $(BDS)\source\xml

The first is needed so the compiler can find CompVer.inc, the second so you can step through the XML handling code.

Also make sure you change the output path from $(BDS)\bin (which only works under UAC and overwrites the stock output) with something like .\$(Platform)\$(Config) (which  puts it along the .DCU files).

–jeroen

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

Delphi Are you familiar with “forgotten” hints? Here is a very rough example how to get rid of them…

Posted by jpluimers on 2018/05/22

Thanks for [WayBack] Are you familiar with “forgotten” hints? Here is a very rough example how to make them disappear without restarting the IDE… – Attila Kovacs – Google+

The code is centered around enumerating all windows of class TDesignerHintWindow and closing them.

These Windows happen to me a lot more in Galileo based IDEs than the classic Delphi < 8 ones.

–jeroen

Read the rest of this entry »

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

Is there any way to record a keyboard macro in the IDE?

Posted by jpluimers on 2018/05/22

Yes there is, but it only does code editor commands. It’s been there since at least 1998 (read Delphi 4), probably all 32-bit versions and maybe even the 16-bit Delphi 1 version.

via:

–jeroen

PS: the G+ thread at … had these comments:

Ondrej Kelle
Reminds me of my keyboard macro manager, later adopted by GExperts: [WayBack] 19145 Keyboard macro manager

Thomas Mueller (dummzeuch)
… which I recently extended to actually display and edit those macros.

[WayBack] Edit keyboard macros with the Macro Library expert – twm’s blog

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

Microsoft is gestopt met gratis Windows 10-upgrade via toegankelijkheidspagina – Computer – Nieuws – Tweakers

Posted by jpluimers on 2018/05/21

[WayBack] Microsoft is gestopt met gratis Windows 10-upgrade via toegankelijkheidspagina – Computer – Nieuws – Tweakers

Licenses: Retail, OEM, ODM, VLK.

[WayBack] Activation in Windows 10 – Windows Help

Notes

  • Microsoft doesn’t keep a record of purchased product software keys.
  • For help finding your product key, see Find your Windows product key.
  • If you don’t have a product key, you can purchase a Windows 10 license after installation finishes. Select the Start  button > Settings  > Update & Security  > Activation . Then select Go to Store to go to the Windows Store, where you can purchase a Windows 10 license.

–jeroen

Posted in Power User, Windows, Windows 10 | Leave a Comment »

The Businesses Apple Has Left Behind – MacStories

Posted by jpluimers on 2018/05/21

Since I’m in history mode: [WayBackThe Businesses Apple Has Left Behind – MacStories

  • Digital Cameras
  • Printers
  • Scanners
  • External Speakers
  • External Storage Devices
  • Monitors

–jeroen

Posted in History, Power User | Leave a Comment »

Open Apple #66 (December 2016) : Glenda “The Atom” Adams | Open Apple

Posted by jpluimers on 2018/05/21

From a while back: [WayBack] Open Apple #66 (December 2016) : Glenda “The Atom” Adams | Open Apple

This month on Open Apple, we sit down with Glenda Adams, better known on the Apple II as The Atom. She was a cracker of some note back in the 1980s, and she shares great stories with us…

It reminded me of the days I started to learn programming. Good memories. @glenda_atom was way ahead of me (:

–jeroen

Posted in //e, 6502, Apple, Apple ][, Classic Macintosh, History, Macintosh SE/30, Power User | Leave a Comment »

Max Schrems on Twitter: “WTF?! So the “solution” of #Facebook, #Goolge or #Microsoft for #GDPR is to claim they have a “legitimate interest” to take all the data they can get their hands on and use it for any of their “products” (incl. ads)… 😧😭 #BeggingForThe4Percent”

Posted by jpluimers on 2018/05/18

Interesting thread at [WayBack] Max Schrems on Twitter: “WTF?! So the “solution” of #Facebook, #Goolge or #Microsoft for #GDPR is to claim they have a “legitimate interest” to take all the data they can get their hands on and use it for any of their “products” (incl. ads)… 😧😭 #BeggingForThe4Percent”.

For instance for Google at [WayBack] Privacy Policy – Privacy & Terms – Google:

This updated version of our Privacy Policy takes effect on May 25, 2018. See the current version of the policy

When we’re pursuing legitimate interests

We process your information for our legitimate interests and those of third parties while applying appropriate safeguards that protect your privacy. This means that we process your information for things like:

  • Providing, maintaining, and improving our services to meet the needs of our users
  • Developing new products and features that are useful for our users
  • Understanding how people use our services to ensure and improve the performance of our services
  • Customizing our services to provide you with a better user experience
  • Marketing to inform users about our services
  • Providing advertising to make many of our services freely available for users
  • Detecting, preventing, or otherwise addressing fraud, abuse, security, or technical issues with our services
  • Protecting against harm to the rights, property or safety of Google, our users, or the public as required or permitted by law
  • Performing research that improves our services for our users and benefits the public
  • Fulfilling obligations to our partners like developers and rights holders
  • Enforcing legal claims, including investigation of potential violations of applicable Terms of Service

–jeroen

Read the rest of this entry »

Posted in GDPR/DS-GVO/AVG, LifeHacker, Power User, Privacy | 1 Comment »