-
Content Count
85 -
Joined
-
Last visited
Everything posted by Nigel Thomas
-
TOpenDialog/TFileOpenDialog => how to to bypass file system redirection?
Nigel Thomas posted a topic in VCL
On 64Bit Windows, when a 32bit app calls a file-open dialog, e.g. TOpenDialog or TFileOpenDialog, then browses to the \Windows\System32 directory to select a file in that directory, the dialog actually displays the contents of the SysWow64 directory - even though the dialog title states it is browsing the system32 directory. I assume this is caused by file system redirection. I'd like to bypass it and browse - and select files from - the actual system32 directory. I've tried calling Wow64DisableWow64FsRedirection before creating the dialog but it has no effect. I expected to see at least a few posts about this on Google somewhere, but I've not come across any. Curious point: with the fileopen dialog open, it is possible to drag-and-drop a file from the dialog to the desktop - and the file that is dragged turns out to be the system32 file, and not the SysWow64 file (the filesizes of identically-named dlls are usually different so it is easy to confirm this). Whilst that is interesting, it doesn't help if one wishes to access a file that is in the system32 directory, but has no identically-named counterpart in the SysWow64 directory, as the dialog will not display it (confirmed by creating differently named files in each directory to see what was visible in the dialog). Edit to add: this behaviour is the same on D2007 and D10.4.2. -
TOpenDialog/TFileOpenDialog => how to to bypass file system redirection?
Nigel Thomas replied to Nigel Thomas's topic in VCL
It's a Malware scanner. The select dialog is provided to allow the user to exclude specific folders/files from analysis. I suspect it will be rarely used to exclude system32/syswow64 files, and even less likely to land on a file that *is* in SysWow64 but is *not* duplicated in System32 (the only real time it makes a difference). The way the selection dialog lies about what folder you are viewing just irks me. -
TOpenDialog/TFileOpenDialog => how to to bypass file system redirection?
Nigel Thomas replied to Nigel Thomas's topic in VCL
The dialog has no knowledge of sysnative. For 32Bit applications running on an x64 system, it displays the SysWow64 directory, it just tells you it is the System32 directory, Try browsing for a file or folder in System32 that does not have a duplicate-name in SysWow64 and you'll see the issue. -
TOpenDialog/TFileOpenDialog => how to to bypass file system redirection?
Nigel Thomas replied to Nigel Thomas's topic in VCL
The string returned from the dialog contains "system32", so that is a non-starter. Besides which, the whole point of this query was to determine how to select files in the System32 directory that do not have duplicate-names in the SysWow64 directory. You can't, because you are only shown the contents of the SysWow64 directory. -
The last time (Jan 2022) I requested a registration bump I was sent this: If you have not already, try emailing renewals with your request. They should assign it to Embarcadero EU, who should then contact you - try and get you to renew - then do the bump as requested. Or so I am told. I ended up not following through with my request as I copied the slip files from another machine, and renamed my machine to that machine (which I was retiring), and got my copies of D2007 and D10.1 working that way. This old SO question still applies, as far as I know: https://stackoverflow.com/questions/34451575/reinstalling-windows-without-re-registering-delphi
-
TOpenDialog/TFileOpenDialog => how to to bypass file system redirection?
Nigel Thomas replied to Nigel Thomas's topic in VCL
Thanks. I suspected that might be the case. -
? Has a new CE edition been released and no-one has told us?
-
I Broke Delphi ->> Low bound exceeds high bound & Duplicate case label if you swap'em (Case Z of) Table error
Nigel Thomas replied to Al T's topic in Algorithms, Data Structures and Class Design
Like you did back in 2013 🙂 : SO 14647108 If statements were the answer for that scenario as well. -
Hi all, My D10.4.2 Community Edition licence expired today. When I request a new licence from: Download the Free Delphi: Community Edition - Embarcadero I receive the following email: Subject: Thank You For Downloading Delphi 10.4.2 Sydney Community Edition Our records show that you have previously obtained a trial license for this product and version. A trial license can be issued only once. If you would like to extend the product evaluation, please contact Embarcadero Support at www.embarcadero.com/support. I seem to recall that this exact issue happened last year, when Embarcadero said it was a glitch. Looks like the glitch is still there? Nigel
-
Community Edition expiring again, no new keys
Nigel Thomas replied to Nigel Thomas's topic in Delphi IDE and APIs
Hi all, I emailed @Marco Cantu and he has replied promptly. They are aware of the issue with renewing CE licences and are working on a solution, although he says it may take some days to implement. -
Community Edition expiring again, no new keys
Nigel Thomas replied to Nigel Thomas's topic in Delphi IDE and APIs
I tried using the Support link, but only received a vanilla response: Perhaps @Marco Cantucould get the right people informed? -
Windows "Feature Updates" move Windows to Windows.old as part of the update process. I usually search in there for the missing files, and move them to the new Windows directory. I also keep a copy of the files elsewhere, just in case Microsoft loses them.. The files concerned are: Borland.Common.Targets Borland.Cpp.Targets Borland.Delphi.Targets Borland.Group.Targets And they need to be present (and therefore copied to, from Windows.old, or your stashed location) in: Windows\Microsoft.Net\Framework\v2.0.50727
-
I would also suggest reading "Delphi in a Unicode World" by Nick Hodges, it gives a lot of detail on how to change pre-D2009 code to D2009+. https://edn.embarcadero.com/article/38437
-
Are future security patches included in a RAD Studio perpetual Commercial License?
Nigel Thomas replied to TimCruise's topic in General Help
Unless you need to re-install, or install on a new system, and you've run out of activations 😞 -
Menu captions with images are hard to read under Windows 11
Nigel Thomas replied to Tom Mueller's topic in VCL
"Ouch! - that bit!" -
Trojan:Script/Sabsik.TE.A!ml detected (false positive of course)
Nigel Thomas replied to Clément's topic in RTL and Delphi Object Pascal
I doubt much has changed since this blog was written in 2018: https://www.microsoft.com/security/blog/2018/08/16/partnering-with-the-industry-to-minimize-false-positives/ " One of the most effective ways for developers to reduce the chances of their software being detected as malware is it to digitally sign files with a reputable certificate. " -
Trojan:Script/Sabsik.TE.A!ml detected (false positive of course)
Nigel Thomas replied to Clément's topic in RTL and Delphi Object Pascal
As it is clearly a false positive, then yes. In my experience, MS have always been good at fixing false positive detections when I've sent them. Others might suggest uploading a copy to VirusTotal as well; I'd recommend against that, as it tends to just lead other AV vendors to jump on the bandwagon and add detection for a file they can see other(s) detect, but they don't, instead of actually analysing it. -
Trojan:Script/Sabsik.TE.A!ml detected (false positive of course)
Nigel Thomas replied to Clément's topic in RTL and Delphi Object Pascal
1. Sign your files. Windows Defender heuristics are much more forgiving if an executable file has a valid digital signature. 2. Submit false positive detection: https://www.microsoft.com/en-us/wdsi/filesubmission -
Try Tools| Options | IDE | Saving and Desktop > Autosave options
-
Separate lists for VCL and FMX in GExperts Rename Components expert
Nigel Thomas replied to dummzeuch's topic in GExperts
This crops up every time there's a Windows 10 Features Update (and as you have now experienced, also with Windows 11 Feature Updates). Make sure you have the following files saved outside of the Windows path, for when it next (and it will) happens, so you can copy them into the "new" Windows Net Framework \v2.0.50727 directory: Borland.Common.Targets Borland.Cpp.Targets Borland.Delphi.Targets Borland.Group.Targets -
Tool to inspect properties at run-time?
Nigel Thomas replied to PeterPanettone's topic in Delphi Third-Party
marco.cantu[at]embarcadero.com. He has contributed to this forum before so may respond to you here. You can find other ways to contact him via his website: https://www.marcocantu.com/ -
I'd like to know where OSName is read from. Msinfo32.exe shows the same string, but I can't find values in the registry to match it.
-
ReleaseID was deprecated after version 2009: Gabe Frost on Twitter He also states not to depend on DisplayVersion looking ahead either. As for Windows 11 not having the Major version upped to 11, there's always the possibility this might change during the preview process. Microsoft is doing its level best to stop people depending on version information, but rather just try whatever API function you want to call, and fail/fallback gracefully if it isn't available. That of course does nothing to those who still want to know/show accurate (and not shimmed) version information, for whatever reason.
-
Delphi compatibility with Windows 11?
Nigel Thomas replied to PeterPanettone's topic in General Help
See update-on-windows-11-minimum-system-requirements My added emphasis. -
Delphi compatibility with Windows 11?
Nigel Thomas replied to PeterPanettone's topic in General Help
tpm.msc lists Manufacturer information, including Specification Version, which should show 1.2 or 2.0.