-
Content Count
2750 -
Joined
-
Last visited
-
Days Won
162
Everything posted by Uwe Raabe
-
Developing under Windows 11 in a VM not feasible ?
Uwe Raabe replied to A.M. Hoornweg's topic in General Help
With developing in 96dpi they probably mean run the IDE with /highdpi:unaware. There is even a separate start menu entry for that. This is best when you need to keep your DFMs compatible with other systems or older Delphi versions.- 26 replies
-
- virtualization
- vmware
-
(and 1 more)
Tagged with:
-
Developing under Windows 11 in a VM not feasible ?
Uwe Raabe replied to A.M. Hoornweg's topic in General Help
It is also possible that VMware will have a decent solution then.- 26 replies
-
- virtualization
- vmware
-
(and 1 more)
Tagged with:
-
Developing under Windows 11 in a VM not feasible ?
Uwe Raabe replied to A.M. Hoornweg's topic in General Help
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- 26 replies
-
- virtualization
- vmware
-
(and 1 more)
Tagged with:
-
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.)
-
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.
-
I tried that, but I don't like the layout.
-
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.
-
You didn't! The forum moderators did.
-
Not sure about your environment, but in the browser there is a setting:
-
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?
-
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.
-
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.
-
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...
-
Is it possible to skip a field/property when using TJSON.ObjectToJsonObject?
Uwe Raabe replied to RaelB's topic in RTL and Delphi Object Pascal
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. -
REST Client: HTTP/1.1 503 Service Unavailable
Uwe Raabe replied to Joe Sansalone's topic in Network, Cloud and Web
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. -
You may have different installation folders - perhaps caused by an admin installation followed by a user installation.
-
You mean "This company must earn money!"? Indeed, that way of thinking is somewhat spreading out during the last few years...
-
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.
-
IIRC, they want to keep the CE always one major version behind the recent one.
-
Interesting way to copy dynamic arrays.
Uwe Raabe replied to pyscripter's topic in RTL and Delphi Object Pascal
The assignment just sets the pointer and increments the reference count. -
Move current entity to another unit?
Uwe Raabe replied to PeterPanettone's topic in MMX Code Explorer
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. -
Move current entity to another unit?
Uwe Raabe replied to PeterPanettone's topic in MMX Code Explorer
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. -
Move current entity to another unit?
Uwe Raabe replied to PeterPanettone's topic in MMX Code Explorer
How would you like to have Ctrl-X - <select another tab> - Ctrl-V more comfortable? -
Announce: $150 discount on Rubicon Pro ( optimized full text search component suite for Delphi )
Uwe Raabe replied to Ann Lynnworth's topic in Delphi Third-Party
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. -
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.
- 17 replies