-
Content Count
2750 -
Joined
-
Last visited
-
Days Won
162
Everything posted by Uwe Raabe
-
Under Tools - Options - Language - Delphi - Library check if the Library path contains c:\program files (x86)\embarcadero\studio\22.0\lib\Win32\release (or wherever you installed Delphi to). If that holds true, then check that FMX.FontGlyphs.dcu is available there.
-
My advice is related to styles that have a TPanel with a solid color. This rules out scenarios where a form wide image or pattern is visible as a (semi-)transparent background. If a TPanel is drawn in a solid color anyway, there is no benefit from drawing its parent background first. Thus setting ParentBackground to false omits some of teh drawing completely. It also helps when the form gets a full client TPanel containing all other controls to omit drawing that form client area on each paint event. With these simple steps we reduced flicker from highly annoying to no more perceptible.
-
The new release V15.1.3 is available now.
-
The release is scheduled for later this day.
-
Add attributes while creating properties/fields
Uwe Raabe replied to mikak's topic in MMX Code Explorer
I know and that is already planned. For the moment MMX provides an action Insert Attributes... which allows to select an attribute from a configurable list. If you customize the MMX toolbar to contain this action, you get a simple way to add attributes to existing fields, properties and methods. -
ResourceOptions.ParamCreate is True?
-
No, you probably misunderstood. The Edit Layout offers an Options button, which takes you to the Welcome Page options page. There you can select a background image for each theme. You only have to make sure that when you change the image for one theme, you need to save this change before you start the process again to change the background for another theme. This has been reported already and closed as Works as expected: https://quality.embarcadero.com/browse/RSP-37883
-
After you change the background image, you need to save the dialog before selecting another theme.
-
class operator TRectF.Add
Uwe Raabe replied to Gustav Schubert's topic in RTL and Delphi Object Pascal
https://quality.embarcadero.com/browse/RSP-38757 -
Add attributes while creating properties/fields
Uwe Raabe replied to mikak's topic in MMX Code Explorer
Currently this is not possible, but it is already in the feature requests. You can add attributes to existing fields or properties, though. -
class operator TRectF.Add
Uwe Raabe replied to Gustav Schubert's topic in RTL and Delphi Object Pascal
That is not the case here. Negative numbers are allowed. In both cases the non-zero borders are ordered correctly. The check for IsEmpty on both rectangles is a logical flaw. A Union of two empty rectangles can result in a non-empty rectangle. @Gustav Schubert Please file a bug report in QP. -
That doesn't hold for applications that have to conform to some external guide lines like Corporate Identity or security considerations. Imagine a control software for a machine or automat that looks different depending on the OS used for the current hardware. What if the software on the stationary PC looks different to that used on an iPad for remote access. There are plenty of use cases where the look and feel of a software has to be independent from the underlying operating system - and be it just independent of its current version.
-
Isn't that a highly subjective question? Any answer would probably depend on someone's personal opinion.
-
11.1 IDE woes with multiple monitors and different dpi.
Uwe Raabe replied to Damon's topic in Delphi IDE and APIs
The IDE has always been non DPI aware before version 11, so such a setting didn't even exist for versions below 11. -
I had a related issue just yesterday where the synchronization between Editor and MMX failed completely. Normally moving the cursor inside the editor selects the current item in MMX. There are several source files where this doesn't work with build 2527. Although I wasn't able to determine the parts leading to that, I was able to fix it. I will provide a new version shortly.
-
The DSM view shows only units that are part of cycles - direct or indirect. If you are not familiar with the DSM view you can as well switch to the Cycles tab and see the cycles as a tree.
-
procedure GetString(param1: string; param2:string; myLabel: TLabel); overload; Begin myLabel.caption := GetDescription(); End; procedure GetString(param1: string; param2:string; myMemo: TMemo); overload; Begin myMemo.lines.Add(GetDescription()); End;
-
Are you sure about that? The code shown looks like this if formatted properly: function GetUpDate(Link: string): string; var S: string; IdHTTP: TIdHTTP; begin IdHTTP := TIdHTTP.Create(nil);//Form1); try S := IdHTTP.Get(Link); result := S; except ShowMessage('Could not get VERSION information'); end; IdHTTP.Free; end; The exception is handled with a ShowMessage call and after that the code following the end is executed, which calls IdHTTP.Free. Although I also prefer the try-finally approach, this code is perfectly valid, as long as ShowMessage returns as expected.
-
Hello Mathias, At least it is not intended, but as you have a reproducible test case you should file a report in QP. Regards Uwe
-
Yes, and that is exactly what I wrote. MMX can only display what is somewhere in the current unit. This includes the ancestor of a class, but not the ancestor of that. I am not sure what you mean. If you Ctrl-Click on the type TButton in the source editor it will navigate you to the declaration of TButton in Vcl.StdCtrls.pas, but that is totally unrelated to MMX.
-
MMX can show the immediate ancestor of a class or interface. This is an option under the Order by item in context menu of the explorer content tree. As long as all ancestor are inside the same unit as the inspected class they are already visible in hierarchical view.
-
Reduce storage space for floating point range
Uwe Raabe replied to dummzeuch's topic in Algorithms, Data Structures and Class Design
If the values for each block don't use the full value range, you can store a base value and only the difference for the others. In other words: Instead of always subtract 30, find the min value of that block (Vmin), store that followed by the other values with the min value subtracted (V - VMin). Of course that would only help if Vmax - Vmin <= 65535. -
You can't have both. For TJson.ObjectToJasonString to do its work it requires RTTI. With RTTI you will have the class and field names inside the binary. Have you tried running UPX on your exe?
-
You can use the JSONName attribute to decouple the field name from the JSON name when using TJson.ObjectToJasonString. Make sure you have REST.Json.Types in your uses clause before. type TPPI = classs public [JSONName('item1')] FNAME: string; [JSONName('item2')] FADDRESS: string; [JSONName('item3')] FCITY: string; end;
-
Prevent Delphi IDE Multiple Instance
Uwe Raabe replied to stacker_liew's topic in Delphi IDE and APIs
I would probably never use this option as long as it doesn't take the IDE version and the given registry option (-r) into account. It is not uncommon for me to have about half a dozen instances running side by side. On the other hand, I rarely have some unwanted ones opening unexpectedly.