Jump to content

Uwe Raabe

Members
  • Content Count

    2538
  • Joined

  • Last visited

  • Days Won

    145

Everything posted by Uwe Raabe

  1. Uwe Raabe

    Call for Delphi 12 Support in OpenSource projects.

    The IFEND works in all versions. LEGACYIFEND ON only makes XE4+ accept only IFEND, too. That might be helpful to write code compatible with versions before XE4 when written and tested with newer versions only. So it is more like a safeguard for the developer, but code written like before XE4 will also compile in XE4+ without that LEGACYIFEND directive.
  2. Uwe Raabe

    Call for Delphi 12 Support in OpenSource projects.

    I'm not aware of something like that. There is a change regarding IFEND since XE4:
  3. Uwe Raabe

    Call for Delphi 12 Support in OpenSource projects.

    You can even check for it: {$IFDEF CONDITIONALEXPRESSIONS} {$IF CompilerVersion < 23.0} ... {$IFEND} {$ENDIF}
  4. Uwe Raabe

    Call for Delphi 12 Support in OpenSource projects.

    Me too. Although f.i. PngComponents are prepared to compile with newer versions without changing more than the LIBSUFFIX (which in my case is handled by Project Magician), I always copy the package folder to a decent named one. The VirtualTreeView approach works fine when you just compile and install from the lowest Delphi version to the highest or you revert any changes before opening the package in another one.
  5. Uwe Raabe

    Call for Delphi 12 Support in OpenSource projects.

    I like the VirtualTreeeView approach, which has a package folder named RAD Studio 10.4+. It works perfectly for 11 and probably for 12, too.
  6. Uwe Raabe

    What is the benefit of sorting the Uses clause?

    Albeit there actually is a request for that, MMX does not sort the units by name. They are grouped according to a user defined pattern, but inside the group the order stays intact. F.i. this is the Groups entry for one of my projects: After some Delphi units in a decent order based on dependency, there are the Raize and TMS units followed by VirtualTrees, PngComponents and the ZipForge units. The last four mimic the unit scopes and naming convention of the project itself also ordered by dependency. (TMS can improve their unit naming btw.) A typical uses clause looks like this: uses Winapi.Messages, System.Classes, System.Actions, System.Types, System.ImageList, Vcl.Graphics, Vcl.Menus, Vcl.ActnList, Vcl.Controls, Vcl.ExtCtrls, Vcl.Forms, Vcl.StdCtrls, Vcl.Tabs, Vcl.Dialogs, Vcl.ImgList, Vcl.VirtualImageList, Vcl.AppEvnts, RzTabs, RzForms, RzShellDialogs, RzPanel, RzButton, RzSplit, RzCommon, Common.Form, IpButton, IpMRU, IpMultiLanguageSupport, TcEditorTypes, TcGlbCfgSystem, TcGlbCfgVisualStyle, RNcCodeViewer, REditorStructure, REditorItems, RBasePalette, RStoragePalette, REditorPalette, RCustomPalette, REditorPanel, RBaseFrame, RObserver, RStandardStatus, REditorNesting, RBaseEditorFrame; The grouping algorithm is pretty flexible and I never had a case that could not be handled. If auto-sort a uses clause is automatically sorted whenever MMX modifies it - a very handy feature.
  7. Uwe Raabe

    What is the benefit of sorting the Uses clause?

    It started with the request to expand the unit scope names, which gave a good boost to compile time in some cases. The idea of uses clause grouping and sorting crept in my mind when I noticed difficulties to quickly scan the list of used units. With a sorted and grouped uses clause the used libraries are clearly visible immediately. So its partly for compilation speed as well as a neat look (some call it OCD).
  8. Uwe Raabe

    End of licence Comunity edition.

    Even that would not magically extend the license. The only option to continue working with 10.4 is buying a full version where the license also covers older versions.
  9. Uwe Raabe

    'Default Sort All Classes' issue.

    Thanks for reporting. I know that MMX has problems with those one-line declarations and conditional defines. I have added these two to the bug tracker.
  10. Uwe Raabe

    TButtonEdit and left button dropdown menu

    This seems to be an oversight in TButtonedEdit (or rather TEditButton.Glyph) to set the DropDownMenu PopupComponent before calling its Popup method. Can you file a QP report similar to RSP-33837, please?
  11. More a convention that can be worked around as shown in the answer to that SO question.
  12. Uwe Raabe

    Current subscription required to download ?

    Indeed! I'm currently on vacation and my brain is probably in low energy mode.
  13. Uwe Raabe

    Current subscription required to download ?

    I cannot say for myself and it might depend on the people there, but I have heard from a coulple of others that it went smoothless.
  14. Uwe Raabe

    New Grep Expert in GExperts - need a name

    My list - with increasing nerd factor: Instant Grep Grepility Greppo
  15. Uwe Raabe

    BPL creation failed when adding 3rd. party components

    You probably didn't allow to add the units, but allowed to add SynEditDR to the requires clause instead. If you deny that request, the units are compiled into your package. If you want to make use of the SynEdit package you must make sure that SynEditDR.dcp can be found during compile and deploy the corresponding bpl with your application.
  16. Uwe Raabe

    Scaling (DPI Change) + Anchors

    Tested in 10.3.3 and 11.3 - works in both of them. Update: Works also in 10.2.3, but fails in 10.1.2
  17. Uwe Raabe

    Returning a string from a bpl

    Perhaps a UniqueString(s) before unloading the package might work then? It looks like the problem comes from the package invalidating the result string memory when unloading. The tricky part now is to find a workaround for this.
  18. Uwe Raabe

    Returning a string from a bpl

    Can you try assigning the string constant to a variable first and/or calling UniqueString on result after assignment? The string literal may vanish when unloading the package.
  19. Uwe Raabe

    Current subscription required to download ?

    Even without an active subscription one can request a bump for the installation counter. It has just to be requested from sales instead of support.
  20. Uwe Raabe

    Are local TGUIDS preinitialized?

    Could it be that using the equality operator qualifies for calling any method?
  21. Perhaps when you ask which image shows valid Delphi code.
  22. Uwe Raabe

    Some REST help please.

    @Patrick PREMARTIN I have never seen some documentation about a REST API to forbit or even avoid POST requests. If you have a link to such docs I would be interested. In my (surely limited) experience with REST API implementations that are not simply read-only, I never encountered anything restricted to GET requests.
  23. Uwe Raabe

    Parsing Json to retrieve nested record

    You can use a TRESTResponseDataSetAdapter and connect its Response property to your TRESTResponse instance (alternatively use a TRESTResponseJSON instance to provide a TJSONObject). Iterating through the records list and adding each tubes items to your dataset may need some additional coding around, though.
  24. Uwe Raabe

    Parsing Json to retrieve nested record

    The above JSON has an array "records", where each item contains a "coin_mech" object, which itself contains the "tubes" array. Are you interested in the "tubes" from one specific "records" item or do you want to collect all "tubes" arrays from all "records" items.
  25. Uwe Raabe

    Parsing Json to retrieve nested record

    Which Delphi version are you using?
×