Jump to content

Uwe Raabe

Members
  • Content Count

    2545
  • Joined

  • Last visited

  • Days Won

    147

Everything posted by Uwe Raabe

  1. Uwe Raabe

    Developing under Windows 11 in a VM not feasible ?

    VMware has a workaround for ignoring the TPM requirement mentioned in Installing Windows 11 as a guest OS on VMware Workstation Pro/Player and Fusion
  2. Uwe Raabe

    FMX cross platform approach?

    I would like to throw in a variation of this scheme. Instead of Postfixes for units I suggest separate folders named like the platform, similar (well, almost) to the IDE doing it with the library search paths. Adding a simple search path .\$(Platform) to the project may be sufficient. The platform specific units are named all the same but reside in their platform folders. Before anyone claims that this prohibits to include these units to the project: You cannot do this with the postfix units either. (Well, you could by IFDEFing the DPR, but this is strongly discouraged. You definitely cannot trick the dproj file for that.)
  3. While working on a tool for cleaning up uses clauses I stumbled upon this beast (slightly changed to protect the innocent): {$if defined(DEBUG) or defined(DEBUG_SPECIAL)} uses {$ifend} {$IFDEF DEBUG} dialogs {$ENDIF} //<some comment about the following ifdef> {$IFDEF DEBUG_SPECIAL} mmsystem, // timeGetTime() messages {$ENDIF} {$if defined(DEBUG) or defined(DEBUG_SPECIAL)} ; {$ifend} If you are only looking for uses clauses inside some Delphi sources and try to avoid a full featured parser, you will have a pretty hard job to detect, parse and interpret that one correctly. So, if you are interested to make any use of such a tool, please do me a favor: Don't write your code that way! It is hard to read for humans anyway.
  4. Uwe Raabe

    View most recent postings.

    I tried that, but I don't like the layout.
  5. Uwe Raabe

    View most recent postings.

    Although I would rather have them visible until I have read them. After that they only waste space. Not sure if the forum software allows that.
  6. Uwe Raabe

    View most recent postings.

    You didn't! The forum moderators did.
  7. Uwe Raabe

    View most recent postings.

    Not sure about your environment, but in the browser there is a setting:
  8. In a comment on this SO question someone states: I know that being difficult to judge from the inside, but does anyone have more information about it?
  9. Uwe Raabe

    DP not reliably approving new users?

    I am just thinking about ways to realize such a remote free beer solution. Perhaps I should make an appointment with our local brewery for a brainstorming.
  10. Uwe Raabe

    Delphi 11, migrate or wait

    You can wait a couple of years and collect the subscription price you kept until it pays for the cost of a new license. Combined with a special offer period that can actually pay off. I for myself have decided to stay with subscription and take advantage of these multiple year subscriptions. Paying a bigger amount once will protect me from the yearly decisions to renew, while keeping me always on the latest version. I still can decide which projects to upgrade and which not deciding only on technical reasons (time usually can be neglected then). For me this is definitely the better approach, but it may not be for others.
  11. Uwe Raabe

    UsesCleaner Issue...

    Which is the main purpose of Uses Cleaner btw. I have to admit that I hesitated a lot before adding the handling of conditionals in Uses Cleaner, simply because I still think it is a bad approach for so many reasons - the IDE being one of them. My goal was to pressure people to get rid of these when they want to use Uses Cleaner efficiently. In a weak moment I implemented it to handle constructs like {$IFDEF USE_CODESITE}CodeSiteLogging{$ENDIF} properly. Probably a big mistake...
  12. The attribute you are looking for is JSONMarshalled: TPersistItem = class(TPersistent) private [JSONMarshalled(False)] FChangeStatus: TChangeStatus; FId: Variant; [JSONMarshalled(False)] FLoading: Boolean; procedure SetId(const Value: Variant); protected Make sure to have REST.Json.Types in your uses clause.
  13. Uwe Raabe

    REST Client: HTTP/1.1 503 Service Unavailable

    Have a look into the except block of TCustomRESTRequest.Execute and you can see that it catches any EHTTPProtocolException and raises a simple ERESTException for errors >= 500 when this is enabled (it is by default). So you either catch ERESTException or (what I suggest) disable RaiseExceptionOn500 in the TRESTClient and wire OnHTTPProtocolError instead.
  14. Uwe Raabe

    Version issue

    You may have different installation folders - perhaps caused by an admin installation followed by a user installation.
  15. Uwe Raabe

    Long term availability of Community Edition

    You mean "This company must earn money!"? Indeed, that way of thinking is somewhat spreading out during the last few years...
  16. Uwe Raabe

    UsesCleaner Issue...

    Adding these additional units is something the IDE does by itself during Save when related components are placed on the form. Unfortunately the IDE is not able to resolve the conditionals. That is one of the reasons why I rate Conditional Uses Clause Considered Harmful, AFAIK, there is no working solution to prohibit this behavior of the IDE. All approaches I am aware of have glitches in some scenarios.
  17. Uwe Raabe

    Long term availability of Community Edition

    IIRC, they want to keep the CE always one major version behind the recent one.
  18. The assignment just sets the pointer and increments the reference count.
  19. Uwe Raabe

    Move current entity to another unit?

    Actually there already are several MMX related popup menus, one being a global one reachable with Shift-Ctrl-Alt-X. So it is not adding another entry to them, but rather the task to select an existing unit or create a new one (which might be another decision point in between) and filling out the necessary parts (select a folder, enter a name), which are already available and working (almost) perfectly inside the IDE. What bothers me that the net gain is one keystroke at best - if at all. I would give the uses clause thing much higher priority due to the real benefit it brings.
  20. Uwe Raabe

    Move current entity to another unit?

    Despite of 2), which would even have benefits for the Cut/Paste approach (noted), I cannot see any advantage in 1). The effort to select an existing unit or create a new one is pretty much the same as opening that unit or create it with the build-in possibilities. The difference boils down to have a new functionality for this new MOVE operation, which would most likely lack a standard shortcut (which are pretty sparse in a current IDE) and thus had to be triggered from a context menu (two clicks). IMHO it would end up in a new feature needing significant effort to implement while of vanishing benefit for most users.
  21. Uwe Raabe

    Move current entity to another unit?

    How would you like to have Ctrl-X - <select another tab> - Ctrl-V more comfortable?
  22. I am quite confident that isn't the case here. Otherwise they had found a way to send sophisticated personal messages to users of this forum that actually make sense.
  23. Uwe Raabe

    Install Delphi Rad 10.3 on new workstation

    You cannot. The community version needs a new key when installed more than once (deleting a license doesn't help). The problem you will encounter next is that you cannot get another 10.3 key anymore - only for 10.4.
  24. Uwe Raabe

    inherited dynamic message handlers

    The docs are pretty clear about it (Message Methods) :
  25. Uwe Raabe

    TDBComboBox in reverse..

    Create handlers for the DB fields OnGetText and OnSetText events and do the conversion inside. Note that the DBComboBox Items property still needs the list of valid text entries to select from.
×