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 10.2 Tokyo (Godzilla)’ Category

RAD Studio 10.2.2 Annoying New Features. Help? – Forum – Embarcadero Community

Posted by jpluimers on 2018/07/24

Does anybody know a shorter, more permanent solution for [WayBackRAD Studio 10.2.2 Annoying New Features. Help? – Forum – Embarcadero Community.

Especially the first one is very important to me.

Ever since Delphi introduced IDE layouts, it would remember the last one selected. With Delphi 10.2.2 Tokyo not so any more: it ALWAYS starts with an imposed “Startup Layout”. If you delete it, it re-appears.

I have a carefully named set of layouts that depends on the monitors I am using.

The workaround – every time I switch monitors, at least a few times a day, especially when moving between places, for instance for meetings – is this:

  1. Start Delphi 10.2.2 Tokyo
  2. Select the layout for that monitor
  3. Save it as “Startup layout”

Then each time I tweak a layout, I have to remember to save it both as “Startup layout” and as the actual named layout.

The really dumb thing is that RSP-20138 Can not define default Startup layout is classified as

“Jira-Quality Sync Service added a comment – 29/May/18 2:50 AM
Issue is reclassified as ‘New Feature'”

Via [WayBack1, WayBack2] So Embarcadero broke the “Default layout” (now always enforces a new “Standard Layout”) upon IDE startup in 10.2 Tokyo, and commented on the bug report … – Jeroen Wiert Pluimers – Google+ which has quite a few nice comments and links, including:

Read the rest of this entry »

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

“Don’t access VCL from a background thread” – how to demo that?

Posted by jpluimers on 2018/07/11

When accessing the VCL from multiple threads at the same time: adopted from ...\DEMOS\THREADS\THRDDEMO.DPR

When accessing the VCL from multiple threads at the same time: adopted from …\DEMOS\THREADS\THRDDEMO.DPR

Great question a while ago:

[WayBack] “Don’t access VCL from a background thread” – how to demo that? – Primož Gabrijelčič – Google+

For me, the ultimate way why not to access the VCL from a background thread is the precursor of the official threads demo that ships from Delphi 2 to Delphi XE6 in ...DEMOS\THREADS\THRDDEMO.DPR. where you’d think the thread isolation would be in ...DEMOS\THREADS\ThSort.pas but actually is in ...DEMOS\THREADS\SortThds.pas.

The first public showing of that demo did not include main thread protection. It originates from a session at the the 1995 Borland Developers Conference where Ray Konopka showed the below code from Bob Ainsbury.

That session reminded why this joke [WayBack] Via the EKON20 sessions… – Jeroen Wiert Pluimers – Google+ was so funny:  “When Ray Konopka enters the room you have a Raize condition.“.

The question above also made me find back this reference to BorCon95 in San Diego:

Read the rest of this entry »

Posted in Delphi, Delphi 10 Seattle, Delphi 10.1 Berlin (BigBen), Delphi 10.2 Tokyo (Godzilla), Delphi 2, Delphi 2005, Delphi 2006, Delphi 2007, Delphi 2009, Delphi 2010, Delphi 3, Delphi 4, Delphi 5, Delphi 6, Delphi 7, Delphi 8, Delphi x64, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Delphi XE6, Delphi XE7, Delphi XE8, Development, Software Development | 2 Comments »

You can use Linux API calls directly from Delphi 10.2 and up

Posted by jpluimers on 2018/07/05

Paul TOTH figured this out:

you can use any Linux API but it’s not trivial.

  1. you have to install the “dev” library under Llinux, like “apt-get install xxx-dev” for the xxx API
  2. you have to update the Linux DSK in Delphi
  3. you can declare the API as externals function as usual
  4. now you can compile and deploy the application.

If you miss the steps 1 or 2 you’ll have a linker error.

Source: [WayBackDear… Delphi 10.2 Tokyo, can i use linux api directly? like ‘fcntl(….)’.

And there is this great blog post that I found later by [WayBack] Allen Drennan: [WayBackImporting third-party Linux libraries on Delphi 10.2 Tokyo – grijjy blog

–jeroen

Posted in Delphi, Delphi 10.2 Tokyo (Godzilla), Development, Software Development | Leave a Comment »

I totally forgot that Delphi has had a function to get the current executing thread – Stack Overflow

Posted by jpluimers on 2018/07/05

While updating some old code fiddling with the[WayBackGetThreadId function, I wanted to have some TThread wrapper around it. I had totally forgotten there has been already a means for this since Delphi 2009 (which initially had a bug, but that was worked around at first and fixed later): [WayBackCurrentThread.

The latest version of Delphi, Delphi 2009, has a CurrentThread class property on the TThread class.

This will return the proper Delphi thread object if it’s a native thread. If the thread is an “alien” thread, i.e. created using some other mechanism or on a callback from a third party thread, then it will create a wrapper thread around the thread handle.

20081001 at 5:00 – [WayBackBarry Kelly

Sources

–jeroen

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

Delphi 10.2 Tokyo: they did not fix the broken documentation tab in 10.2.2 2004, but it is an “easy” fix to do yourself

Posted by jpluimers on 2018/06/06

Since the fix is on the forums server (singular!) and that one tends to be squirrel driven lately, here it is in full via [WayBack] I see they didn’t fix the broken documentation tab in 10.2.2 2004 (professional). It’s not a show stopper but a nuisance to fix oneself. And for new dev… – Herbert Sauro – Google+ and [WayBack] I have installed Delphi 10.2.2 and the Documentation tab is all stuffed up ( see picture ). I know there is a html template page for the welcome tab, bu… – Tony Danby – Google+

In C:\Program Files (x86)\Embarcadero\Studio\19.0\Welcomepage\en

Edit Documentation.htm and insert the one piece about the innerWidth

function setFrameURL(url)
        {
            if(url){
                document.getElementById('load_html').src = url
                $("#load_html").css("display", "block");
                var height = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;         
                $("#load_html").css("height",(height)+"px");    
                var width = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;         
                $("#load_html").css("width",(width)+"px");  

It works and takes up the entire page after you restart the IDE.

If it gets up: https://forums.embarcadero.com/thread.jspa?threadID=271798

–jeroen

 

Posted in Delphi, Delphi 10.2 Tokyo (Godzilla), Development, Software Development | Leave a Comment »

Do NOT download the Embarcadero patch for RAD Studio 10.2.2!

Posted by jpluimers on 2018/02/11

[WayBack] Embarcadero just released a patch for RAD Studio 10.2.2. It breaks linking projects with runtime packages, like GExperts, any other IDE expert and probably also most component packages. – Thomas Mueller (dummzeuch) – Google+ in a response to [WayBack] RAD Studio 10.2.2 Tokyo February 2018 Patch available now at https://cc.embarcadero.com/item/30819. This patch for RAD Studio 10.2.2 (build 2004)… – Marco Cantù – Google+.

RSP-19914 (by Thomas Mueller)

Summary

After installing the RAD Studio 10.2.2 Tokyo February 2018 Patch I can no longer compile any project with “Link with runtime packages”.

Error message:
[dcc32 Fatal Error] Project1.dpr(5): E2225 Never-build package ‘vcl’ must be recompiled

Steps to reproduce

1. Create a new VCL project
2. Open project options
3. Select Packages -> Runtime Packages
4. Set “Link with runtime packages” to true
5. Close dialog with OK
6. Compile the project
-> Error

You might have noticed that the MVP logo is no longer on the blog. It got revoked because I was too critical. Given releases like the above, I can’t stop being critical in a public way as the internal ways to effectively voice criticism that used to work in the past stopped working a long time ago.

Not just the MVP was revoked, the account to which the MVP was attached got killed without notification. That account also had the tech-partner licenses attached: the ones I used to support Delphi open source projects. Which means I do not have any Embarcadero provided licenses to support open source Delphi projects any more except the ones I own (the most recent ones being Delphi 2007 and XE4).

Many people in the Delphi community even refuse to become MVP because formally the MVPs are not allowed to be be critical publicly. Which means these community members have a limited list of Delphi versions they can use to support and test their open source projects with.

I am glad for the time I could use those licenses to support open Delphi source projects, but alas, that time is over. I still like the concepts of Delphi as those are strong. I don’t like how Embarcadero handles their infrastructure and product quality.

In the next 2 years there will be Delphi posts on my blog as that’s about the depth of the posting queue right now. After that: time will tell. For the last decade or so, I’ve spend more free time supporting Delphi than spending time on paid Delphi projects. That won’t last forever.

For now I’m going on a two week holiday tomorrow after which I will be available for new projects.

–jeroen

Related:

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

If you use Delphi or RAD Studio 10.2.2, ensure you have the latest one installed (build 2004) as it fixes some binary DCU incompatibility bugs 

Posted by jpluimers on 2017/12/19

Not all updates are equal, so if you use Delphi or RAD Studio 10.2.2, ensure you have the latest one installed (build 2004) as it fixes some binary DCU incompatibility bugs in the old one (build 1978).

You can get the web-install for that build from [WayBack] 30806 RAD Studio, Delphi, C++Builder 10.2 Release 2 Web Install which states:

We have updated RAD Studio 10.2.2 to address an issue that caused incompatibility problems for a number of third party components.This build (build 2004) replaces the previously released RAD Studio 10.2.2 build (build 1978).

The updated 10.2.2 build requires a full uninstall and reinstall. You will be able to preserve your configuration settings as part of the reinstall.

The new 10.2.2 update build 2004 fixes errors in the old 10.2.2 update build 1978 like:

  • when compiling “F2051 Unit %s was compiled with a different version of System.Generics.Collections.TArray.Sort”
  • when loading BPLs “Cannot find entry point…”

Via: [WayBack] Looks like there was an update to the update. “This CodeCentral entry was updated on Dec 17, 2017 We have updated RAD Studio 10.2.2 to address an issu… – Lars Fosdal – Google+

In that thread, various people have confirmed this build indeed fixes these issues.

–jeroen

Posted in Delphi, Delphi 10.2 Tokyo (Godzilla), Development, Software Development | Leave a Comment »

FastMM4 + Delphi – Recompiling application with 10.2.1 causes memory leaks?

Posted by jpluimers on 2017/11/15

This is why you should always test your Delphi apps with FastMM4 and FullDebugMode enabled: [WayBack] Delphi – Recompiling application with 10.2.1 causes memory leaks?

A workaround is to add the below code in either of these places:

  • end of your .dpr file right before the end.
  • in the finalization section of a new unit

CheckSynchronize();

It calls the [WayBackSystem.Classes.CheckSynchronize method to ensure the background thread performs the needed cleanup.

Thanks Stefan Glienke for solving this.

–jeroen

Read the rest of this entry »

Posted in Delphi, Delphi 10.2 Tokyo (Godzilla), Development, 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 »