-
Content Count
779 -
Joined
-
Last visited
-
Days Won
57
Everything posted by Vincent Parrett
-
Hi All Anyone know of a tool that can fix up unit namespaces in the uses clause, ie change uses sysutils, stdctrls; to uses System.SysUtils, Vcl.StdCtrls; I have a few thousand units to go through and clean up, I've tried regex etc but it's not reliable enough.
-
Tool to fix up uses clause unit namespaces?
Vincent Parrett replied to Vincent Parrett's topic in General Help
If you look at this method procedure TSourceFileUsesClauseFormatter.InitSettings; begin UsesHelper.UnitAliases := 'WinTypes=Winapi.Windows;WinProcs=Winapi.Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;'; UsesHelper.UnitScopeNames := 'Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell'; UsesHelper.SearchPath := 'c:\Program Files (x86)\Embarcadero\Studio\19.0\lib\win32\release'; UsesHelper.GroupNames := '<UnitScopeNames>'; end; I would hazzard a guess that you can solve this by removing the vcl unit scope names and adding the fmx ones. I don't use fmx so not 100% on this, but a new blank multi device application, the default unit scope names are Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;System;Xml;Data;Datasnap;Web;Soap So maybe that's all you need 🤔 -
Delphi 11.1 is available
Vincent Parrett replied to Uwe Raabe's topic in Tips / Blogs / Tutorials / Videos
Tools -> Options -> Welcome Page - click on Clear. That works for me. -
Delphi 11.1 is available
Vincent Parrett replied to Uwe Raabe's topic in Tips / Blogs / Tutorials / Videos
Of all the bugs and outstanding feature requests.. this was definintely top of the list 🙄 - first thing I did after installing was clear that out. I'm not 3, I don't need unicorns and rainbows. -
TThread Resume Suspend deprecated (Not synchronization)
Vincent Parrett replied to Clément's topic in RTL and Delphi Object Pascal
Not sure what the situation is now (probably worse), but in the past the delphi debugger did not cope with debugging threads that were created suspended (the debugger/ide would hang when it hit the breakpoint) - so I prefer to create the thread normally and then block on an event or semaphore. Suspended/Resume was really just a misunderstanding of the api's on borland's part - which they corrected by deprecating the methods - they probably could have removed them by now, they have been deprecated for a while now. -
Delphi 11.1 is available
Vincent Parrett replied to Uwe Raabe's topic in Tips / Blogs / Tutorials / Videos
I posted a new issue since the issue occurs with the release build and my other issue had extra problems that may or may not be related. https://quality.embarcadero.com/browse/RSP-37603 I have narrowd this down to the Linking\Debug Information setting - turning that on in the Release config causes the same issue.. seems like a memory corruption issue to me (the app runs fine outside the IDE). -
Delphi 11.1 is available
Vincent Parrett replied to Uwe Raabe's topic in Tips / Blogs / Tutorials / Videos
I will when they make it public - but much of the discussion happened on a private embarcadero forum. -
Delphi 11.1 is available
Vincent Parrett replied to Uwe Raabe's topic in Tips / Blogs / Tutorials / Videos
I am unable to debug my main project using Rad Studio 11.1 - I get random entry point not found errors(runs fine outside the ide or in Release config, but of course then breakpoints don't work). Embarcadero knew about the error but here we are, yet another version unusable for me. Beyond frustrated. -
DPROJ changes: SourceTree vs Beyond Compare
Vincent Parrett replied to Mike Torrettinni's topic in General Help
Don't hold your breath, I've been looking for a while, don't feel like anything has stood out so far. -
DPROJ changes: SourceTree vs Beyond Compare
Vincent Parrett replied to Mike Torrettinni's topic in General Help
Classic! I can certainly attest to this.. currently researching how to migrate away from confluence for our documentation site. -
Welcome to all sorts of fun. Delphi uses config inheritance, so settings can be anywhere in the tree - so you need to work your way up the tree. Start by parsing the BuildConfiguration elements - use the Key and CfgParent values to build the tree. The difficulty comes when no settings exist at a node in the tree.. then nothing is in the dproj for that config, and you end up having to fill in the blanks to work out the correct parent etc. I don't have any code I can share, but can tell you if you don't work out the config tree first you will really struggle to get anything out of the dproj.
-
Try using https rather than htttp? - https://www.nevrona.com/
-
DPI Awareness, tForm.CurrentPPI and PixelsPerInch not always identical !!???
Vincent Parrett replied to A.M. Hoornweg's topic in VCL
The easy fix did not work for me. I've had this issue for years - but I will say that I have not had it for the last week or so - no idea why. Hoping it doesn't return. -
DPI Awareness, tForm.CurrentPPI and PixelsPerInch not always identical !!???
Vincent Parrett replied to A.M. Hoornweg's topic in VCL
The constraints issue is well known - https://quality.embarcadero.com/browse/RSP-33760 I have struggled with this issue myself and have been lobbying embarcadero to fix this in an update 🤞 -
How to use Spring4D Shared<> smartpointer with an overloaded constructor.
Vincent Parrett replied to MarkShark's topic in Delphi Third-Party
I don't believe this would be possible - Make isn't a method on TStringList - it's a class property on Shared<T> - so I guess it can only use parameterless constructors (happy to be corrected but that's how I read it, haven't used this feature). -
It's definitely a significant release, a major overhaul of the collection classes which reduces generic code bloat a lot. I've been using the develop branch for the last year or so in my develop branch - while it's broken things occasionally (I just revert to a previous working commit) the fact that it's tagged as beta.1 suggests it's on the home stretch and major breaking changes from here on in are unlikely. I can tell you I removed all references to system.generics.collections in FinalBuilder (dev branch, 4M lines of code so not a small task!) and am using the DI container and it's made things significantly faster (faster startup, faster at runtime). I'm also using spring4d develop extensively in the dpm package manager project. If you don't mind some risk then I would go for it.
-
Hi Dave I suspect that might not be using the standard windows drag and drop - more likely an OLE one. The VirtualTreeView source code might offer a clue on how to implement that as has a dragtype property of dtVCL or dtOLE - disclaimer - I have never used the OLE type so don't know much about it.
-
I would think that one work around would be to not use FormCreate/FormDestroy and just override the constructor/destructor. Embarcadero never care about backwards compatibility - for them the only version that matters is the current version. There are plenty of other issues with maintaining forms for multiple versions.. like the IDE messing with the uses clause for things like imagelists and actionlists.
-
@Stefan Glienke I see "Spring4D has been identified as containing spam, malware, or other malicious content." I guess someone reported it maliciously, or an algorithm screwed up (most likely).
-
@Anders Melander I tested amd uprof with map2pdb and can confirm it does work. I had 3.4 something installed, and saw there was an update to 3.5 available.. imho 3.5 is worse than 3.4 - I thought the intel vtune ui was terrible, but uprof is 10 times worse. Upgrading also deletes any old sessions.. which means you have to go through the tedious process of adding the source folders again (there is no option to include subfolders.. grrrr).
-
Smartbear aquired AutomatedQA who developed AQTime. It was written in Delphi back in those days (as were their other tools), the initial version was great, worked really well with delphi and was really useful. Later versions completely changed things to focus more on .net and didn't work well with delphi.. I stopped upgrading. To make matters worse, their licensing mechanism was/is terrible, you will find plenty of people complaining about it on the interwebs.
-
I'll have to try it again when time permits - I think the version I tried was older than that (was a while ago now).
-
I only tried it briefly but it barfed on the pdb that map2pdb generates - I haven't had time to get back on it... I solved the perf issue I was looking at with vtune and haven't needed to profile again lately.
-
I had great results with VTune and map2pdb a while back, however I've since built a new AMD Ryzen based machine and VTune doesn't work on amd 😞
-
Consider putting the source up on Github rather than sharing zip files - makes it safer for everyone that way.