-
Content Count
2755 -
Joined
-
Last visited
-
Days Won
163
Everything posted by Uwe Raabe
-
GExperts 1.3.12 beta for Delphi 10.3 Rio available
Uwe Raabe replied to dummzeuch's topic in GExperts
I had seen the same error with the editor context menu of MMX. The first time after a fresh IDE start it works, but fails on subsequent right clicks. That is why I removed it for Rio. I also noticed that the menu entry was moved to the top on the first context popup, albeit it was definitely added at the last position. Something fundamentally changed with the context menu in Rio. -
Unfortunately not. It uses some ToolsAPI interfaces only available in later versions.
-
You can automate this with Pascal Analyzer: Control Tab Order Report
-
General DB access question -- paging query results
Uwe Raabe replied to David Schwartz's topic in Databases
BTW, rebuilding with C#/.NET will cost a multiple of time and money with no real benefit but plenty of problems. -
General DB access question -- paging query results
Uwe Raabe replied to David Schwartz's topic in Databases
I guess, the application uses BDE components? These are indeed not very capable of this scenario. I suggest to replace these with FireDAC components, which should handle this out of the box or can easily be configured to do so. There are semi-automated tools to help with this replacement. There are other alternatives for replacement, but the BDE components are not suitable for this job unless you start to change the DB access behavior of the application. -
General DB access question -- paging query results
Uwe Raabe replied to David Schwartz's topic in Databases
Not sure about your use case, but FireDAC has some tricks to load only a specific number of records on open and fetch the following when necessary. There is also an option to fetch blobs for a record only when needed. -
Looks like that is as designed. FItems in TListHelper has been a Pointer even in 10.2, but in 10.2 the TList holds FItems as array of T, while 10.3 doesn't have this anymore.
-
dotNet framework 4.5 required for Delphi 10.3 Rio
Uwe Raabe replied to dummzeuch's topic in Delphi IDE and APIs
There are ways to bridle those. -
dotNet framework 4.5 required for Delphi 10.3 Rio
Uwe Raabe replied to dummzeuch's topic in Delphi IDE and APIs
Probably related: Bug in Delphi 10.3 Rio / C++Builder 10.3 ISO affects TMS installers -
If you call it cyclical re-engineering cult, so then. I simply see it as a way to make things work smoothly for me. I see that time I invest here pays back pretty soon and thus is well spent, at least better than constantly lamenting over CodeInsight not working. Changing the compiler or CodeInsight itself is out of my reach and I am not going to wait for others to do so.
-
Not sure if that is a RAD thing. It is more a mixture of convenience and shortsightedness. Finding a clean and proper architecture is not an easy task. Often these projects are a result of short time and pressure and the lack of getting things right in the second go.
-
That indeed has a high impact. My projects are usually free from dependency cycles, but I cannot do much about third party libraries there. Nevertheless can I rarely see problems with Code Insight here. Also compiling is blazing fast and even a full build does not last much longer. In heavy contrast to a customer project I am just working on, where a Ctrl-Click needs seconds to minutes to return and code completion is more of a hindrance than of help. Also I have to re-build the whole project when I make a small change to the interface part of most of the units, because a simple compile won't succeed due to the cycles. I encourage everyone to eliminate those cycles as soon as possible. They cost you a huge amount of your time.
-
Bring back double click to open a folder in the Projects amanger
Uwe Raabe replied to dummzeuch's topic in Delphi IDE and APIs
Wrong RSP number? -
I have even been at the edge of dropping everything below 10.3 Rio at some point, but the effort to make it compile with the other 10.x versions was not that much (although it just turns out that there still might be some hickups with 10.2.0 to 10.2.2). After all, dropping support for older Delphi versions doesn't take anything away from existing users of these versions. They just won't get any new enhancements. The crucial point for myself is the testing effort for all these versions I don't use on a day by day basis. Given that these tests usually reveal some problems related to that version, that effort often rises significantly.
-
TBytes & TByteDynArray Change in 10.3
Uwe Raabe replied to Vince Bartlett's topic in RTL and Delphi Object Pascal
That is correct! With 10.3 there is no difference in TBytes and TByteDynArray. Both are TArray<Byte>. You can simply remove the TByteDynArray overload when compiling for 10.3. -
The process of updating GetIt packages is just too clumsy to keep pace with new releases.
-
Can MMX move a class to another unit?
Uwe Raabe replied to Der schöne Günther's topic in MMX Code Explorer
No, you have to add unit2 to the uses clause of unit3 manually. You might also be able to remove unit1 from the uses clause. -
Can MMX move a class to another unit?
Uwe Raabe replied to Der schöne Günther's topic in MMX Code Explorer
Can you give an example what you mean by "updated automatically" in this context? -
VCL Support for Per Monitor v2 and GetSystemMetrics Coming in 10.3
Uwe Raabe replied to Marco Cantu's topic in VCL
The Owner is not necessarily the form. Sometimes the owner is a TFrame descendant or may even be nil. Iterating the Parent until a TCustomForm is found is usually the way to get the required form instance. Perhaps iterating until Parent is nil is another valid approach. That would also cover the case where one form is parented into another one. -
Is there a package to get a list of all installed components?
Uwe Raabe replied to Bill Meyer's topic in Delphi IDE and APIs
You can also search the registry. The Package Cache key (like HKEY_CURRENT_USER\Software\Embarcadero\BDS\19.0\Package Cache) contains all installed packages with all its components. -
Custom Managed Records Coming in Delphi 10.3
Uwe Raabe replied to Marco Cantu's topic in RTL and Delphi Object Pascal
Extend the record a bit and try again (so it doesn't fit into a register): TTestRec = record dummy: array[1..10] of Integer; Value: Integer; procedure Change( AValue: Integer ); end; -
Custom Managed Records Coming in Delphi 10.3
Uwe Raabe replied to Marco Cantu's topic in RTL and Delphi Object Pascal
It is still possible to change the fields of a const record parameter when you use one of its own methods to do that. -
fast file searching, what do you recommend, please?
Uwe Raabe replied to KodeZwerg's topic in Windows API
Look at the different overloads of GetFiles and use that one matching your needs. If you have to specify TSearchOption.soAllDirectories you should specify that to the appropriate overload. files := TDirectory.GetFiles('C:\Temp\', TSearchOption.soAllDirectories, function(const Path: string; const SearchRec: TSearchRec): Boolean begin Result := TPath.MatchesPattern(SearchRec.Name, '*.exe') or TPath.MatchesPattern(SearchRec.Name, '*.dll'); end);- 21 replies
-
- findfiles()
- win32
-
(and 1 more)
Tagged with:
-
fast file searching, what do you recommend, please?
Uwe Raabe replied to KodeZwerg's topic in Windows API
If you want only files use GetFiles. If you want only folders use GetDirectories. If you want both use GetFileSystemEntries. You don't need multiple calls - at least I can't imagine a use case for it in the moment. If you want all DLL and EXE files use the code I gave as an example. The Embarcadero example above selects the correct method to call depending on the given parameters - admitted in a somewhat weird way. It never calls more than one GetXXX method, because the three if-clauses are mutually exclusive. BTW, the loop to add the LList to the TStringlist can be replaced by a simple AddStrings call in recent Delphi versions. Also returning a TStringList instance as a function result is not a first class approach anyway. That's why all the IOUtils functions return string arrays.- 21 replies
-
- findfiles()
- win32
-
(and 1 more)
Tagged with:
-
fast file searching, what do you recommend, please?
Uwe Raabe replied to KodeZwerg's topic in Windows API
TDirectory.GetFiles/GetDirectories/GetFileSystemEntries have overloads taking a TFilterPredicate. You can provide your own accept function with that. The following example lists all dll and exe files from the given folder in one go. files := TDirectory.GetFiles('C:\Temp\', function(const Path: string; const SearchRec: TSearchRec): Boolean begin Result := TPath.MatchesPattern(SearchRec.Name, '*.exe') or TPath.MatchesPattern(SearchRec.Name, '*.dll'); end);- 21 replies
-
- findfiles()
- win32
-
(and 1 more)
Tagged with: