-
Content Count
559 -
Joined
-
Last visited
-
Days Won
12
Everything posted by Darian Miller
-
need something like a Windows Registry that runs as a web service
Darian Miller replied to David Schwartz's topic in Network, Cloud and Web
Amazon S3 bucket. You can setup lifecycles to auto-delete data > 30 minutes. -
Note: once you start down this path of customizing basic component behavior, it's best to derive a custom set of components. Derive your own component from TButton and reuse whatever custom code that ends up working out for you. You may find yourself with a custom version of all the basic components and you'll end up with customized behavior controlled in a central location. Whatever happens, please don't copy-n-paste this code into 27 different Click events throughout your app...
-
Managing multiple clicks is a common issue that offer many solutions...one simple way around it is the following code: procedure TUButton.Click; begin TUButton.Enabled := False; try //do stuff except on E:Exception do begin //handle errors end; TUButton.Enabled := True; end;
-
Refactoring issue in 10.4.2 re: Rename
Darian Miller replied to David Schwartz's topic in Delphi IDE and APIs
The RADStudio tooling still has a ways to go in order to catch up to the new inline variable language feature (first introduced in November 2018.) IMHO complete support for the language feature should have been available before its full release as I believe releasing it half baked was a waste of a lot of goodwill. At minimum, it should have been a user-enabled optional experimental feature. Last time I checked, some issues remain: RSP-32507 Inline variable breaks the Methods drop-down box in Navigation Toolbar RSP-33176 Extract method refactoring broken by inline var definition RSP-33365 In-block variables break the "Find references" RSP-23096 Incorrect debugger values RSP-22089 Code Formatter Fails on Inline Vars -
upcoming language enhancements?
Darian Miller replied to David Schwartz's topic in RTL and Delphi Object Pascal
True, but modern vs historical is appropriate in the particular sense that they likely have not adequately evolved their internal systems over time while the complexity of the product has skyrocketed. They seem to be trying to develop/test/release the 28th version of Delphi similar to how the 12th version was built. They appear to be slowly improving the internal tooling but it needs a major upgrade. Iterative releases, feature toggles, community empowerment and transparency, etc. - simply a long way to go. They are (mostly) out of the 90's (EDN still online?) now need to speed through the 2000's and 2010's and get current. Retooling their online presence seems to be happening. Hard to see the progress on internal operations though. They seem to be attempting to improve releases through sheer grit rather than appropriate increases in resources. That approach only goes so far before the people burn out and that really sucks as the equity decision makers typically don't care about people - but success in development projects is usually based on keeping the right people. (Fatal flaw with private equity types and development projects...innovation is typically not found in the board room unless your name is Elon.) -
upcoming language enhancements?
Darian Miller replied to David Schwartz's topic in RTL and Delphi Object Pascal
To their credit, the complexity of today's Delphi greatly eclipses a Borland version. I also wonder what the team size of internal experts is today is versus then. -
upcoming language enhancements?
Darian Miller replied to David Schwartz's topic in RTL and Delphi Object Pascal
Agreed. They are in the hard situation where they need to quickly release the bug fixes from prior releases that customers are demanding, but also trying to extend or replace old functionality which introduces a slew of new bugs. I spent years digging out of a very deep hole like that... it's not fun. -
upcoming language enhancements?
Darian Miller replied to David Schwartz's topic in RTL and Delphi Object Pascal
I imagine if you asked today, you would get access before the week is out and have time to play with the beta before it gets released. No one really knows the expected release date (probably most at Embarcadero don't even know yet) ... but you can make an educated guess. Their current sale ends August 31 and last year 10.4.1 was released September 2 and their latest marketing says to "buy now and get the next version as soon as it's released." There's nothing saying they couldn't ship RADStudio 11 tomorrow, but if you have a little free time to test the Beta, it might be worth your time and you just might find a bug or two that can get fixed before release to make the version even better. I haven't had time to test the Beta much myself yet so I don't know how close it is. I was hoping to find some time this week. My wish would be that it wouldn't ship until it's actually ready...even if that means next year and we keep patching 10.4.2 until then. -
upcoming language enhancements?
Darian Miller replied to David Schwartz's topic in RTL and Delphi Object Pascal
The 10.5 info is still applicable. (But now version 11) How much of this actually gets released into the next version is debateable. (And how much that is released is actually usable without having to wait for a patch or two.) Anticipated New Features 10.5 Delphi Language Extensions Consolidation of multiple debuggers Improved Delphi language support for LLDB Math Performance Improvements "Significant work" around high-DPI support in IDE, target of "Full" HighDPI support VCL Style support in the designer FireMonkey Designer improvements Fill in missing features like alignment guides Multi-developer productivity IDE Onboarding Experience Improvements to the IDE source control integrations Command-line tools installer for Windows Intended for build-server targets (no longer need full IDE on build server) C++ Visual Assist support C++ new Win64 Linker New target platform: macOS ARM (based on Apple Silicon CPUs) Quality focus areas: VCL FireMonkey C++ Toolchain Delphi Compiler Data Connectivity RAD Server -
upcoming language enhancements?
Darian Miller replied to David Schwartz's topic in RTL and Delphi Object Pascal
This future releases page has everything I know about RAD Studio 11 (formerly known as 10.5) that can be said publically. https://github.com/ideasawakened/DelphiKB/wiki/Future-Releases-for-RAD-Studio-and-Delphi Otherwise, join the beta to see what's "coming soon" -
multi-threading question
Darian Miller replied to David Schwartz's topic in RTL and Delphi Object Pascal
You seem to have two main goals - do a little work after each thread completes and coordinate a bigger task once everything is done. When each thread completes you could fairly easily post a user defined windows message and have the form update the state when the message is received. For the second, more complicated synchronization issue of waiting on a varying number of threads to complete, since your total count is under 64 you could go with WaitForMultipleObjects as previously suggested. However, if your thread count might rise above that fixed limit, you may want to consider utilizing TCountDownEvent for this second task instead. Here's a blog post on it: https://www.ideasawakened.com/post/test-driving-delphi-s-tcountdownevent with corresponding example code on GitHub. -
macOS missing redist OSX64 folder
Darian Miller replied to Wil van Antwerpen's topic in Cross-platform
Some persistent problems with the installer and the \redist\ folder https://quality.embarcadero.com/browse/RSP-30852 https://quality.embarcadero.com/browse/RSP-33640 -
virtualization VMWare Workstation PRO vs MS Hyper-V
Darian Miller replied to Drewsky's topic in Delphi IDE and APIs
I'll keep your products in mind, thanks! -
How and when install the Patches.
Darian Miller replied to Juan C.Cilleruelo's topic in Delphi IDE and APIs
There recent patch links are listed here: https://github.com/ideasawakened/DelphiKB/wiki/Delphi-Master-Release-List The pages for the 10.4 patch #2 and #3 each contain a link to a how-to-install blog post from Embarcadero -
virtualization VMWare Workstation PRO vs MS Hyper-V
Darian Miller replied to Drewsky's topic in Delphi IDE and APIs
VMWare Workstation Pro took out the shared VM / auto-start feature in 16.0 but added it back for 16.1 after a ton of complaints. The feature is marked as deprecated but they may be adding a new way to auto-start VMs in a future version. -
Several F2084 Internal Error on Delphi 10.4.2
Darian Miller replied to Davide Angeli's topic in Delphi IDE and APIs
And now a patch for 10.4.2 is released! -
Several F2084 Internal Error on Delphi 10.4.2
Darian Miller replied to Davide Angeli's topic in Delphi IDE and APIs
Its kinda sad that there aren't even any notes on that particular issue...which was opened in 2018. The problem is too deep into their legacy code to even attempt a fix. I don't come up against that particular issue as I wouldn't re-use the same variable name within the same routine. It's definitely a cost-benefit question on fixing it...how many people care about this particular issue, or say formatting the code or extracting a method which is likely done multiple times per coding session. But thanks, I'll add it to my list of reasons why not to use inline variables. https://github.com/radprogrammer/radteam/wiki/RADProgrammer-Style-Guide-Other-Guidance#Assume-These-Items-Are-Deprecated -
Several F2084 Internal Error on Delphi 10.4.2
Darian Miller replied to Davide Angeli's topic in Delphi IDE and APIs
I listed 4 separate QC issues (32507, 33176, 33365, 22089) and there are likely a number more. And yes, refactoring and code navigation is important. And of course, code formatting is also very important. CTRL-D needs to work so you can write code while in the groove and let it flow and then standardize/clean-up as needed during a break. I don't want to waste brain cycles on mundane tasks like fixing the spacing and alignment after editing / refactoring but I do want to try to have standardized code. CTRL-D mostly works great for my uses- but it simply cannot handle inline variables. (CTRL-D is broken for other reasons, but none that affect me as much.) -
Several F2084 Internal Error on Delphi 10.4.2
Darian Miller replied to Davide Angeli's topic in Delphi IDE and APIs
I agree that it's not doable to be fully comprehensive, but there are some major issues people should be aware of for each version. What might be useful is a list of major function topics and warnings next to each. For example, inline variables were introduced in 10.3 but should still be avoided as their usage breaks tooling. (32507, 33176, 33365, 22089) Another issue for those that rely on IDE Fix Pack would be a warning that's its not available for 10.4 but by 10.4.2 many features have been implemented. I remember being stuck at XE2, but I no longer recall what was broken in XE3 which preventing me from upgrading. We are currently in the seemingly never-ending chase of requiring to use the latest version for bug fixes, but the latest version always adds new issues. We end up with developers 'stranded' at particular versions because of major issues that they are waiting to be resolved. Eventually the perceived pain of upgrading accumulates until such time as someone decides to 'abandon ship' and switch to a different solution. This thread is an example - 10.4.2 follows with even more bug fixes than the 'quality' focused release of 10.4.1 and yet, two months after release, some people cannot use the product due to internal errors. I wonder how many developers thought that their specific pain points were finally addressed and they would upgrade to 10.4.2 and then got smacked in the face with this particular issue and finally raised the white flag (especially after waiting for months now.) For me 10.4.2 is their best release in a long while. But I'm also no longer managing complex projects with many millions of lines of code so I'm not running into this particular showstopper. However, I would really like to use inline variables, but until they fix the issues surrounding them (including the code formatter) then I refuse to use them. I assume the code formatter might be upgraded in the 10.5 release cycle and it'll take until sometime into 10.6 before it's solid so I assume inline variables are dead to me until sometime in 2023, or later. That's not intended as a slam, it's simply a reasoned forecast. Therefore it comes down to a new language feature being introduced in 2018 and forecasted to be potentially usable in 2023. Saying that out loud makes me sad and question my life choices... -
Several F2084 Internal Error on Delphi 10.4.2
Darian Miller replied to Davide Angeli's topic in Delphi IDE and APIs
That would make for an interesting resource... a list of every recent Delphi version and what major problems each of them has for users to be aware of and suggested work arounds, if available. -
You can get a new Model M online: https://www.pckeyboard.com/page/product/NEW_M Classic: https://www.pckeyboard.com/page/product/UNI041A
-
VCL Handling of dpi changes - poor performance
Darian Miller replied to Vincent Parrett's topic in VCL
I used the LockWindowUpdate(Handle) on BeforeMonitorDPIChanged and LockWindowUpdate(0) on AfterMonitorDPIChanged + set ParentFont := True in child controls and it helped me with this issue. (A gigantic delay was reduced to a huge delay.) I haven't checked out this repo in a while - does it help 10.4.2 at all? https://github.com/rruz/vcl-styles-utils Now that IDE Fix Pack is mostly integrated, I hope VCL Styles Utils would be another repo that was really nice to have to fill in gaps, but is no longer needed. -
Interesting... how much data are we talking? Could it be posted somewhere for download?
-
More expansion into the Dev space by Idera https://www.businesswire.com/news/home/20210302005147/en/Idera-Inc.-Acquires-PreEmptive-Adding-Security-Tools-Trusted-by-Fortune-500-Businesses-to-DevOps-Business-Unit
-
Fast lookup tables - TArray.BinarySearch vs Dictionary vs binary search
Darian Miller replied to Mike Torrettinni's topic in Algorithms, Data Structures and Class Design
Have you tried in-memory datasets? There's one included with Firedac. If you are manageing multiple lists of 10,000 records and indexed dataset might be worth adding to your speed test.