John R.
Members-
Content Count
58 -
Joined
-
Last visited
Everything posted by John R.
-
Code signing certificates have become so expensive...
John R. replied to RaelB's topic in Delphi Third-Party
Looks like the price is right: https://azure.microsoft.com/en-us/pricing/details/trusted-signing/ Last time I purchased a code signing certificate via KSoftware I paid $188.10 for 3 years which makes it $5.225 / month. Next time I need to renew, I'll probably get the Azure one, which, even at double that price, have the advantages of not needing a USB dongle while being managed by Microsoft itself. So, far more trustworthy than the outdated websites and processes I had to endure in the past. -
Well if they are still using MyCommerce, chances are that they are abandoned as this platform is screwing all of its customers. See: https://www.theregister.com/2024/10/15/digital_river_runs_dry_hasnt/
-
Fantastic work! Thank you for your contributions. If I may, while this component is very powerful, I find that a serious limitation is the number of languages that it supports and the difficulty to add new languages. Many common languages are missing (such as Powershell, Rust, TypeScript, Go...) and creating highlighters is complicated. @pyscripter as you know the internals better than anyone, would it be possible to imagine a way to import highlighters from other projects such as highlight.js: https://github.com/highlightjs/highlight.js/blob/main/src/languages/powershell.js ? Or would it be better to imagine a simpler way to define highlighters ?
-
I sometimes need to use the "Tag" property to store a string, and I've noticed that the number of instances and changes are minimal so I could store them in memory during the application lifetime. That's why I've opted with a global singleton which: Returns a string object when asked, and keeps the instance in memory while the application is running Releases every instances once the application is closed Even if this is not an optimal solution, this is the "cleanest" way I could think of at the time. Something like: uses Spring.Collections; // ... type TStrObj = class(TObject) private FValue: string; public constructor Create(const aValue: string = ''); property Value: string read FValue write FValue; end; type FStrObjects: IList<TStrObj>; // ... constructor TSomeSingleton.Create(); begin FStrObjects := TCollections.CreateObjectList<THndStrObj>(True); end; function TSomeSingleton.GetStringObject(const aValue: string): TStrObj; begin // Create the object Result := TStrObj.Create(aValue); // Add it to the list FStrObjects.Add(Result); end; // ... // Usage: SomeComponent.Tag := NativeInt(Pointer(TSomeSingleton.GetStringObject('Some String Value')));
-
You should probably contact DevExpress support which is usually helpful: https://supportcenter.devexpress.com/ticket/list
-
This looks very interesting to me and a nice move for code signing. My current certificate is valid till the end of 2025 so I can only hope that this service will improve till then 🤞
-
You had to make me open it again, thanks 😉 As far as I can tell, this would be: DevExpress, ImageEn, TRichView, SynEdit. See screenshot:
-
I "hope" that I have a world record with a fantastic 2 minutes and 51 seconds to show the standard action list (for your sanity, you can fast forward most of the video): https://we.tl/t-iC5uIavpK7 This was done without a safety net using Delphi 12 patch 1 in a VM with plenty of memory, disk space and processing power. Can someone beat me ? 😎 Embarcadero employees and/or Delphi enthusiasts are free to use that video, should they care to file a report. I've already spent way too much time on this to even bother looking for, registering to, and learning how to properly use the latest usable web site to report this problem. Meanwhile, I sincerely hope that I've added all the standard actions that I need in my app to avoid opening this dialog again 🤞
-
I can confirm this problem with a large number of standard actions added by third-party components such as ImageEn, TRichView actions... Very annoying and almost unusable, even for cat and dog owners 😉
-
Delphi 12 messing up with test project's DPR when using TestInsight and DUnitX
John R. posted a topic in Delphi IDE and APIs
I'm wondering if there is some workaround to this problem I frequently have. My test project's DPR looks like this: program tests; {$IFNDEF TESTINSIGHT} {$APPTYPE CONSOLE} {$ENDIF} {$STRONGLINKTYPES ON} uses System.SysUtils, {$IFDEF TESTINSIGHT} TestInsight.DUnitX, {$ELSE} DUnitX.Loggers.Console, DUnitX.Loggers.XML.NUnit, // <-- This line is removed from time to time by Delphi IDE {$ENDIF } DUnitX.TestFramework, // [...] But every time I add a new unit to that project and save it, the Delphi IDE decides to remove this line, and only this one: DUnitX.Loggers.XML.NUnit Is that a known problem ? Is there some workaround ? I'm using Delphi 12 Patch 1 with TestInsight 1.2.0.6 -
Indeed, I own a certificate and nothing is prohibiting me from adding a virus / spyware /adware or anything harmful whenever I want. You mentioned the sponsored version of FileZilla which seems to include some questionable content: some anti-viruses seem to treat it as harmful, while others seem to report it as Adware. It doesn't matter if it has been signed or not. Regarding to the importance of a code signing certificate, it depends how you plan to distribute your application and your target audience: Windows will try to discourage people from installing applications which are not signed, and some people such as myself, will hardly if not ever (without extra precautions such as VMs) run any non-signed EXE software. You have access to plenty of documentation about the benefits of code signing online: https://www.digicert.com/signing/code-signing-certificates Your choice!
-
The URL is https://download.filezilla-project.org/client/FileZilla_3.66.5_win64_sponsored2-setup.exe So perhaps this is the reason ?
-
A native VCL, and not Windows-based, TComboBox control.
John R. replied to shineworld's topic in VCL
Alternatively, your UI seems to be very similar to a table/grid layout so you could potentially use a grid component with support to input fields such as combo boxes. Those grids are usually highly optimized to handle thousands of rows with various data types and input options. They usually allow the dynamic instantiation of input controls (such as combo boxes) when a row is actually being edited to save resources. I highly recommend DevExpress' ExpressQuantumGrid: https://docs.devexpress.com/VCL/171093/ExpressQuantumGrid/vcl-data-grid Or their ExpressVerticalGrid: https://docs.devexpress.com/VCL/403720/ExpressVerticalGrid/concepts/vcl-vertical-grid Both of which I extensively use for this kind of tasks. -
Heads up: Huge price increase for RemObjects DataAbstract updates
John R. posted a topic in Delphi Third-Party
Hi, Just a heads up, I've just received an update e-mail for my RemObjects DataAbstract subscription which is due to expire in 30 days and I couldn't believe that it went up from $599 (amount paid for many years) to $999 without any explanation whatsoever: https://www.remobjects.com/shop/renew.aspx I hope that this will help other RO/DA customers budget their future updates. -
I can confirm that but once integrated, it is very stable, frequently updated with lots of unit tests! I highly recommend DWScript.
-
Quote from the latest blog post from DevExpress: https://community.devexpress.com/blogs/vcl/archive/2023/12/19/vcl-subscription-drawing-engine-performance-enhancements-for-complex-data-forms-and-other-reasons-to-upgrade-to-v23-2.aspx Also, this article mentions a nasty bug with Delphi 12: https://quality.embarcadero.com/browse/RSP-43037
-
delphi Toast-Notification-Manager by DevExpress Alternatives
John R. replied to Yersinian's topic in General Help
If I'm not mistaken, DevExpress VCL has a similar component, called "Alert Window Manager": https://docs.devexpress.com/VCL/403745/ExpressEditors/vcl-editors-overview#alert-window-manager -
Congrats! Fantastic work to both of you. Thank you. Even though it is high above my knowledge, it is a pleasure following this thread between @Jan Rysavy and @Anders Melander. I'm glad that such knowledgable people are still part of the Delphi community and hope that this project will get sponsored by Embarcadero somehow. Thanks again.
-
New security requirements for code signing, disruptive ?
John R. replied to A.M. Hoornweg's topic in General Help
nSoftware just announced PKI Proxy. I'm still using "old" file-based certificates but it looks like it could be a viable solution: https://www.nsoftware.com/pkiproxy/ -
See PHP's security section here: https://www.php.net/manual/en/security.hiding.php
-
As I said, it probably is but I can't see how a serious company could trust them if they don't even provide mandatory legal mentions on their website.
-
Are you using the Edge browser control in production and which one ?
John R. posted a topic in General Help
I'm targeting Windows 8+ 64-bit with Delphi 11 and was wondering if anyone is using the Edge browser control in production and which one you are using ? I've spotted the following 4 options: TEdgeBrowser which is part of Delphi 11 installation. It doesn't seem to provide support for custom options such as --disable-web-security to load local files TMSFNCWebBrowser from TMS Software. It doesn't seem to handle --disable-web-security either WebView4Delphi from Salvador DÃaz Fau which supports that option, but needs a few tricks to work properly: use a timer for initialization and listen to parent form's MOVE messages to resize properly. This looks a bit weird compared to other components but not a show stopper CEF4Delphi also from Salvador DÃaz Fau which I've discarded as being far too large to be distributed with my application It looks like only WebView4Delphi could work for my use case as it is the only one supporting --disable-web-security and I was wondering if anyone had feedback about using these in production or if you have any other recommendations? -
Are you using the Edge browser control in production and which one ?
John R. replied to John R.'s topic in General Help
So I've finally selected WebVew4Delphi from Salvador DÃaz Fau which is amazing! It includes many (all?) options to control the WebView's behavior (including allowing local files), is easy to use, fast and well maintained. Highly recommended! -
We have never tested this solution as we've discarded them for multiple reasons: Their website does not contain any legal information. We couldn't find out where this company is located which is highly problematic Their website content seems to be too good to be true, and despite some color changes, I believe that it has exactly the same content for years There is no public forum, or public feedback that we could find about their solution It is not that big of a deal but for a security related company, having website pages with a .php extension is not a great way to show technical skills Don't get me wrong, they might be very good but for the missing legal information alone, I won't even try their products.
-
We've been using WyDay LimeLM for years now with mixed feelings. On the plus side: Provides Delphi samples and easy to integrate Supports both named and floating licensing models Supports online/offline licensing Keys have custom extra data attached to implement advanced scenarios such as version/date checks... Easy and reliable REST API for key management... Support is fast and skilled but you have to push them hard to prove that you or the end-user is not at fault, which is taking a lot of time and efforts There is a public forum which can be browsed to evaluate their support and get useful info: https://wyday.com/forum/ But: I haven't seen such a stubborn company/developers elsewhere: when something is not working correctly, they ALWAYS say that end-user messed up their computer and must re-install everything, or that we, as developers, caused the bug. Never will they admit that its their fault! They've promised features for YEARS as "coming soon" without update or delivering: https://wyday.com/forum/t/4823/licensechest-is-coming-soon/ In the past, they've implemented server side breaking changes, such as limiting the number of IPs which can connect to their API, without previous notice, apologies, and despite multiple critics on their forum, they merely relaxed their policy saying they are right, customers are wrong 😲 You are captive to a monthly subscription. They have increased the price in the past and it is very hard to do anything about it: if you change your licensing system and stop using them, how would you handle customers using older versions of your software with perpetual licenses ? All in all, it's a decent solution to get started fast and strong. But given the price, I expect better. We have now past the hard times with them so I'm not sure if we will ever change, but I can't say that I'm not frequently looking for alternatives, including home made solutions. Hope this helps.