-
Content Count
2750 -
Joined
-
Last visited
-
Days Won
162
Everything posted by Uwe Raabe
-
handling predicate conditions
Uwe Raabe replied to David Schwartz's topic in Algorithms, Data Structures and Class Design
Because I can set up my IDE to skip EParameterCannotBeNil exceptions in the debugger, while still catching other nil pointers. -
looking for design ideas for an easily editable list
Uwe Raabe replied to David Schwartz's topic in VCL
What about a TClientDataSet connected to a TDBGrid or TDBCtrlGrid? -
Indeed, the icons are actually not set at all. The current ones are more or less random.
-
wuppdi Welcome Page destroys Delphi IDE 10.3.1 start screen
Uwe Raabe replied to PeterPanettone's topic in Delphi IDE and APIs
No, because the problem occurs only with the package that is at the bottom when scrolling is imminent. The first package usually appears above that bottom line. Of course, if you have many experts installed occupying that place, there is no chance to solve that. Just to make it clear: It is not a problem of the packages, but of the Delphi splash screen implementation. The package just registers itself with the SplashScreenService. The drawing is done somewhere else. -
wuppdi Welcome Page destroys Delphi IDE 10.3.1 start screen
Uwe Raabe replied to PeterPanettone's topic in Delphi IDE and APIs
You can try to put the WWP as the first package to be loaded. That is a bit of manual work: export the Known Packages key in the registry to a file delete the Known Packages key in the registry edit the reg file so that WWP is first after the standard packages import the reg file -
wuppdi Welcome Page destroys Delphi IDE 10.3.1 start screen
Uwe Raabe replied to PeterPanettone's topic in Delphi IDE and APIs
That is a known problem with the scroll mechanism used in the splash screen. As different SKUs have different background colors, the code uses the last scan line to fill the newly added lines when scrolling (seems not like the wisest decision). If the last scan line has some text you end up with the effect seen above. This affects all plugins with a multi-line description when they happen to be displayed at the bottom before scrolling. -
Disaster planning by archiving GetIt installers
Uwe Raabe replied to Tom F's topic in Delphi IDE and APIs
Well, I am not very interested in fundamental changes anyway. I would be happy if they are kept on par with the VCL components, especially regarding VCL styles and High DPI support. -
Component Compatibility 10.3.2 vs. 10.3.1?
Uwe Raabe replied to Steve Maughan's topic in General Help
There is a known package incompatibility with 10.3.2 which affects design time packages and IDE experts. I have been told that a hotfix will be available soon. -
Or perhaps no framework at all? Try placing a standard VCL control first and the IDE might ask you.
-
According to a comment in code this is most likely done on purpose. So you might be forced to change that after the installation. It should stay that way when you upgrade MMX (besides the fact that settings transfer is not working ion the current beta). Note: MMX stores shortcuts separate for each IDE version.
-
I can indeed confirm that MMX registers Ctrl-Alt-C for Copy Entity as the default shortcut, but a quick check revealed that even Delphi 7 had this linked to the CPU window. So I don't know why it was chosen for that action. That said, it is sometimes pretty hard to find available and reasonable shortcuts. Even if you find one it might be taken by Delphi in the next version - let alone another 3rd party plugin. That is why these shortcuts can be configured. Nevertheless I will investigate the contextual approach.
-
Disaster planning by archiving GetIt installers
Uwe Raabe replied to Tom F's topic in Delphi IDE and APIs
For the mentioned Raize Components I can confirm that. GetIt just places the files in a weird location, but you can do what you describe after that and work with the library as you wish. That is exactly how I update my own Raize Components repository since the acquisition. After some cleanup of the installed design packages and library folders inside the IDE everything is as consistent as before. Of course I would prefer having a public repo for these components, but it is quite possible to work in a professional way even with GetIt. BTW, you can't buy via GetIt - at least not yet. -
That is probably because fonts are handled by the theme.
-
Well, at least that is a specific requirement. It is just that I would never be in that state (i.e. MMX not open), thus I didn't even consider this case before. You can disable that feature in General - Delphi Editor - Options - Auto toggle Object Inspector and Code Explorer, but then it will never be shown with F12.
-
Indeed - and I am not very satisfied with it. I haven't had the time to create a proper replacement yet.
-
This is a known incompatibility between design packages and experts compiled with 10.3.2 when used with 10.3 or 10.3.1. Currently there is no workaround for that besides having two separate DLLs. I'd rather avoid that due to the build and setup nightmare that is causing. Nevertheless I am confident that Embarcadero will provide a hotfix addressing that problem pretty soon. In the mean time MMX 15 for Rio can only be used with 10.3.2, sorry about that.
-
Refer to Form Control without using the Form unit?
Uwe Raabe replied to Mike Torrettinni's topic in VCL
@Cristian Peța That looks like a perfect candidate for the Visitor explained in this article: The Visitor Pattern – Part 4 avoiding all the is type calls and type casting. The above code would break down to implementing a TTranslator class like this: type TTranslator = class(TVisitor) protected procedure IterateComponents(Instance: TComponent); public procedure VisitAction(Instance: TAction); procedure VisitComponent(Instance: TComponent); procedure VisitControl(Instance: TControl); procedure VisitCustomForm(Instance: TCustomForm); procedure VisitCustomFrame(Instance: TCustomFrame); procedure VisitMenuItem(Instance: TMenuItem); end; procedure TTranslator.IterateComponents(Instance: TComponent); var I: Integer; begin for I := 0 to Instance.ComponentCount - 1 do Visit(Instance.Components[I]); end; procedure TTranslator.VisitAction(Instance: TAction); begin end; procedure TTranslator.VisitComponent(Instance: TComponent); begin IterateComponents(Instance); end; procedure TTranslator.VisitControl(Instance: TControl); begin if Instance.Action = nil then begin end; end; procedure TTranslator.VisitCustomForm(Instance: TCustomForm); begin { translate form parts ... } { translate components } IterateComponents(Instance); end; procedure TTranslator.VisitCustomFrame(Instance: TCustomFrame); begin { translate frame parts ... } { translate components } IterateComponents(Instance); end; procedure TTranslator.VisitMenuItem(Instance: TMenuItem); begin if Instance.Action = nil then begin end; end; Instead of calling TranslateForm(MyForm) you would call Translator.Visit(MyForm) -
@Dokkie Thanks for reporting. I uploaded build 2345 with a fix for that.
-
Thanks, now I can reproduce.
-
Refer to Form Control without using the Form unit?
Uwe Raabe replied to Mike Torrettinni's topic in VCL
That is not breaking cycles, but actually creating them. Cyclic dependencies in the interface simply don't even compile. Therefore cyclic dependencies are only possible in the implementation section. -
There is a new beta drop (build 2344): https://www.mmx-delphi.de/downloads/download-info/mmx-beta-build/
-
As I cannot reproduce here there is probably more to that. I have the MMX Explorer pinned and the OI collapsed in a tab in the same dock host. Pressing F12 switches from Code to Design and pops out the OI, or from Design to Code while the OI collapses again making room for the Explorer. What is your scenario?
-
Highlighting properties in the object inspector
Uwe Raabe replied to Nathan Wild's topic in Delphi IDE and APIs
Could it be that those highlighted properties are those to be linked to other components? -
[bug] : Rad Studio 10.3.2 - Custom Component works fine with Tokio but not with Rio
Uwe Raabe replied to gioma's topic in FMX
They move the code away from the class constructor into the initialization section and revert that in 10.4 for instance. -
Thanks! Seems to have worked then.