-
Content Count
2988 -
Joined
-
Last visited
-
Days Won
175
Uwe Raabe last won the day on October 1
Uwe Raabe had the most liked content!
Community Reputation
2225 ExcellentAbout Uwe Raabe
- Birthday 09/30/1956
Technical Information
-
Delphi-Version
Delphi 12 Athens
Recent Profile Visitors
The recent visitors block is disabled and is not being shown to other users.
-
Open MMX Properties, select General and disable Allow MMX Actions in IDE toolbars.
-
Removing semi transparency in background compile window
Uwe Raabe replied to Roger Cigol's topic in General Help
I made some tests and found that background compile time increases by 100-150% compared to foreground. Not sure if these numbers are typical. -
Error F2084: Internal Error: L878 in Delphi 13
Uwe Raabe replied to emileverh's topic in RTL and Delphi Object Pascal
... and file a bug report! -
The Uninstall button in GetIt has a drop down option to open that folder.
-
Cursor positions in multiple edit windows
Uwe Raabe replied to dummzeuch's topic in Delphi IDE and APIs
IMHO, that is an oversight (i.e. nobody raised this use case in the past, so nobody added that to the specification). The ToolsAPI provides IOTAEditLineTracker to handle that. Getting the cursor position of an EditView tracked while being deactivated should be an overseeable task. I suggest filing a report. Multiple EditViews of the same source seem to be used rarely. We need more reports like that to drag some attention to it. -
It does not work when the Code Insight Manager is set to Classic Code Insight, but that is expected.
-
And where will the AIs get the newer information then?
-
Regression - Delphi 12 - Unable to debug dynamically loaded packages
Uwe Raabe replied to @AT's topic in Delphi IDE and APIs
Sounds like an off-by-one error. -
NameOf() in D13 to get the name of the current method
Uwe Raabe replied to emileverh's topic in RTL and Delphi Object Pascal
There is a real use case mentioned in the https://github.com/UweRaabe/CmonLib/tree/main/Examples/Observers example of CmonLib. Currently the calls in Main.Form use constants to specify the property to observe: tmp.AddObserver<string>(tmp.cMyString, procedure(AValue: string) begin MyStringEdit.Text := AValue end); tmp.AddObserver<TStrings>(tmp.cMyLines, procedure(AValue: TStrings) begin MyLinesMemo.Lines := AValue end); tmp.AddObserver<Integer>(tmp.cMySelectedIndex, procedure(AValue: Integer) begin MySelectedComboBox.ItemIndex := AValue end); tmp.AddObserver<string>(tmp.cMySelected, procedure(AValue: string) begin MySelectedComboBox.Text := AValue end); tmp.AddObserver<Integer>(tmp.cMyListItemIndex, procedure(AValue: Integer) begin MyListItemListBox.ItemIndex := AValue end); The constants are declared like this (note the QP reference): type TObservableData = class(TData) public const { string representation of TData property names. I am eagerly waiting for the implementation of the top most voted feature request in QP: RSP-13290 "NameOf(T) compiler (magic) function" } cMyLines = 'MyLines'; cMyListItem = 'MyListItem'; cMyListItemIndex = 'MyListItemIndex'; cMySelected = 'MySelected'; cMySelectedIndex = 'MySelectedIndex'; cMyString = 'MyString'; With a proper NameOf the calls above could be written like this: tmp.AddObserver<string>(NameOf(tmp.MyString), procedure(AValue: string) begin MyStringEdit.Text := AValue end); The tricky part here is that NameOf(tmp.MyString) needs to return 'MyString' and not 'tmp.MyString'. (Perhaps I should file a use case for that. Otherwise I may have to wait a few more iterations.) -
NameOf() in D13 to get the name of the current method
Uwe Raabe replied to emileverh's topic in RTL and Delphi Object Pascal
The idea behind NameOf(<someIdentifier>) is to get a string representation of that identifier. If the underlying item of <someIdentifier> gets renamed the parameter to NameOf gets either magically changed too (using a capable rename refactoring) or the old identifier (hopefully) won't compile anymore. F.i. accessing RTTI information about a property using TRttiType.GetProperty requires the name of that property. Currently one needs to keep a string constant in sync with the property name. Unfortunately we have RSB-997 - NameOf() does not allow class members, so I still have to wait for that being implemented. I agree that not everyone wants to make use of NameOf, but is has been the most voted item in QualityPortal for quite some time. Probably there are a couple of users with a real need for that. Pointless doesn't quite hit it. -
V16.0.10.85 Fix: accept single line literal starting with three quotes Show invisible Source Indexer when searching is invoked Don’t auto-dock Floating Explorer when invoked from menu Locate Editor Position Do rename when leaving Entity Insight name edit with changed content Option to hide units from VCL/FMX framework in Use units Parser recognizes new generic constraints interface and unmanaged. Support multi-select with Break up Property and Convert Property to Field Download from MMX Beta Setup
-
Check for a console window waiting for your input.
-
Keybindings get unregistered in an unknown scenario
Uwe Raabe replied to havrlisan's topic in MMX Code Explorer
That's a tricky one and it only happens on non-English keyboard settings. When you set your keyboard to English the shortcut will always work because it is hard-wired in the keyboard interface. Also the behavior is different depending on the keyboard layout: RSP-30422 - Toggle Comment Line works different depending on keystroke used Although this problem exists since quite a time, we were not able to detect the trigger for that. Well, it is sufficient to open the editor context menu to make it work again. -
Keybindings get unregistered in an unknown scenario
Uwe Raabe replied to havrlisan's topic in MMX Code Explorer
I can remember cases (several years ago) where the Explorer shortcuts stopped working and even an IDE restart wouldn't help, but your scenario sounds a bit different. -
NameOf() in D13 to get the name of the current method
Uwe Raabe replied to emileverh's topic in RTL and Delphi Object Pascal
With the introduction of NameOf there are still gaps where it doesn't work (partly huge ones). I guess we can expect extensions to NameOf targets in future updates and releases.