The Wiert Corner – irregular stream of stuff

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

  • My badges

  • Twitter Updates

  • 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 ‘Development’ Category

FreePascal downloads I used to get Web Service Toolkit to compile since the Delphi WSDL importer has braindead include support

Posted by jpluimers on 2020/09/11

The Delphi WSDL importer maintenance has been in dormant mode for a long while, which means it still barfs on WSDL include directives.

In the day and age of REST and gRPC, I don’t think it will get any love soon.

Related bug entries are for instance RSP-18630: WSDL generate bad code and RSP-17321: “Import WSDL” generates invalid code without explanation of problem are examples of this, and I’m sure that QC had more if it were still alive; I could find these in the WayBack machine:

The problem manifests itself when the WSDL file includes one or more XSD files. The generated code will contain a section like this:

  // ************************************************************************ //
  // The following types, referred to in the WSDL document are not being represented
  // in this file. They are either aliases[@] of other types represented or were referred
  // to but never[!] declared in the document. The types from the latter category
  // typically map to predefined/known XML or Embarcadero types; however, they could also 
  // indicate incorrect WSDL documents that failed to declare or import a schema type.
  // ************************************************************************ //

Further below is a series of commented out types, all starting with a !ย end ending in a column with the namespace of those types.

Searching for the first line gives numerous examples as far back as Delphi 7, for instance:

Based on those, I think the reason is that the WSDL importer fails on <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />ย which is quite common in the real world.

I did not want to pursue manually modifying the WSDL file, or manually generating the types as the WSDL and XSD files were prone to changes and manual steps would make the re-import process more tedious. If you do want to do that, these link might help:

This is what I used to get this to compile and runย [WayBack] Web Service Toolkit – Free Pascal wiki:

Build steps

FPC installation

  1. Run the 32-bit installer
  2. Keep all options except on the second install screen, disable Associate .inc files with FreePascal IDE
  3. Add C:\FPC\3.0.4\bin\i386-win32ย to the user path

Building

  1. Recursively unzipย wst-0.7u.zip
  2. Open a command prompt in the wst-0.7uย directory
  3. Verify there is a ws_helperย subdirectory

When compiling in Delphi, then you definitely need the FreePascal RTL sources for the PasTreeย unit; seeย [WayBack] fcl-passrc – Free Pascal wiki.

Related:

–jeroen

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

Filename too long in Git for Windows – Stack Overflow

Posted by jpluimers on 2020/09/10

[WayBack] Filename too long in Git for Windows – Stack Overflow:

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem" /v "LongPathsEnabled" /t REG_DWORD /d 1 /f

Related:

–jeroen

Posted in Development, DVCS - Distributed Version Control, git, Software Development, Source Code Management | Leave a Comment »

Mark Struberg on Twitter: “My key takaway is: “You can fix most conceptual problems of a Monolith by converting to MicroServices. And you can fix most conceptual problems of MicroServices by making a Monolith out of it”.

Posted by jpluimers on 2020/09/10

I wonder what the state of monoliths versus microservices is right now. Likely somewhere in the middle of SOA and Client/Server (:

[WayBack] Mark Struberg on Twitter: <<My key takaway is: “You can fix most conceptual problems of a Monolith by converting to MicroServices. And you can fix most conceptual problems of MicroServices by making a Monolith out of it”.โ€ฆ >>

–jeroen

Posted in Design Patterns, Development, Software Development, Systems Architecture | Leave a Comment »

Keep Your Project Files Clean With Project Magician โ€“ The Art of Delphi Programming

Posted by jpluimers on 2020/09/10

Reminder to self to install this to more than just the main dev VM as it combines DProjNormalizer and DProjSplitter, then adds a few more features: [WayBack]ย Keep Your Project Files Clean With Project Magician โ€“ The Art of Delphi Programming

Example of the wizard that shows the additional features

[WayBack] Download

Viaย [WayBack]ย Keep Your Project Files Clean With Project Magician – Uwe Raabe – Google+

–jeroen

 

 

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

Recursive loop, see loop, recursive

Posted by jpluimers on 2020/09/09

Recursion explained visually.

Via [WayBack] Wenn mehrere Generationen in den Feiertag / Vatertag starten.

[WayBack] Original pictureย at [WayBack] Bug Life | Chickie’s Rides | Pinterest | Vw, Volkswagen and Cars.

–jeroen

 

Posted in Conference Topics, Conferences, Development, Event, Fun, Software Development | Leave a Comment »

CppCon 2015: Niall Douglas โ€œRacing The File System” – YouTube

Posted by jpluimers on 2020/09/09

Cool presentation on avoiding data races and race conditions when doing file system operations. It includes lots of conceptual and API suggestions on many operating systems (explaining what works where and why not), plus locking tips.

Biggest takeaway for me: always use handles to any object, and avoid static paths like a bad flue.

Well worth watching!

The slides are atย [WayBack] CppCon2015/Racing the Filesystem – Niall Douglas – CppCon 2015.pdf at master ยท CppCon/CppCon2015 ยท GitHub

More talks from the same conference atย [WayBack] GitHub – CppCon/CppCon2015: Presentation Materials from CppCon 2015

Via [WayBack] I asked this in the ADUG list, but didn’t think to ask here … CppCon 2015: Niall Douglas โ€œRacing The File System” – Paul McGee – Google+

–jeroen

Posted in Development, Software Development | Leave a Comment »

Delphi – tools to generate class diagrams/hierarchy from source code

Posted by jpluimers on 2020/09/09

I know ModelMaker Tools could do this: [WayBack] Quick Question … are there any good tools available to generate class diagrams / hierarchy from existing code? Or doesn’t anyone do that anymore ? – Stefaan Lesage – Google+

But I didn’t know the other tools from the thread had options as well:

–jeroen

Posted in Delphi, Development, Diagram, PlantUML, Software Development, UML | 1 Comment »

Obtaining Build Logs with MSBuild – Visual Studio | Microsoft Docs

Posted by jpluimers on 2020/09/08

Via [WayBack] Obtaining Build Logs with MSBuild – Visual Studio | Microsoft Docs:

If you need full debug output from msbuild, then append the -verbosity diagnostic parameter.

–jeroen


Posted in Continuous Integration, Development, msbuild, Software Development | Leave a Comment »

19 Best Git clients for Windows as of 2018/2019/… – Slant

Posted by jpluimers on 2020/09/08

Despite the year, this page still got updates long after the initial edit [WayBack] 19 Best Git clients for Windows as of 2018 – Slant.

–jeroen

Posted in Development, DVCS - Distributed Version Control, git, Software Development | Leave a Comment »

Fl Ko: Getting the pixel position of the current editor cursor position for an OTA wizard

Posted by jpluimers on 2020/09/08

Since WayBack cannot save G+ photos, here is one from [WayBack] So, now I’m in front of a problem similar to a former one: I need to get the pixel position of the current editor cursor position for my OTA wizard. I’… – Fl Ko – Google+:

Related:

–jeroen

Posted in C++, C++ Builder, Delphi, Development, Software Development | Leave a Comment »