-
Content Count
2634 -
Joined
-
Last visited
-
Days Won
91
Everything posted by dummzeuch
-
The .dproj file contains a version entry which is unique for most Delphi versions (unfortunately not for all of them), see the Delphi Wiki How to find out which Delphi version was used to create a project? (Or you can simple take the source code for that detection from my dzBdsLauncher, assuming that the licenses are compatible.)
-
I might have missed it in your post, but for me the most important functionality for such a program would be to detect the correct Delphi version for a given project based on the contents of the dproj file. Of course that only matters if more than one Delphi version is available, and I'm probably an extreme in having all versions from Delphi 6 to 11 (with the exception of Delphi 8 ) installed on the same computer.
-
A simple option would be to have "network named user" licenses and run your own license server.
-
I rarely use Delphi VMs at all, but those that I do use are running on a Citrix XenServer and must be used via Remote Desktop (or the even slower VNC based remote console of the XenCenter). But my experience with using VirtualBox in general is that Remote Desktop is faster and more convenient than the console. Usually my VirtualBox VMs are run "headless" anyway.
-
Try to connect to that virtual machine via Remote Desktop rather than using the console. This might solve some of these problems.
-
No GExperts formatter on Windows 11 with elevated IDE
dummzeuch replied to timfrost's topic in GExperts
Under some circumstances that I never could figure out, sometimes some keyboard shortcuts get lost. Usually opening the config dialog and exiting it with OK will fix that. But apparently you had already tried that. No idea what could cause this odd behaviour in elevated mode. Did you try the same shortcut for a different expert? Did it work in that case? Please file a bug report on SourceForge giving as much detail as possible, including how you start Delphi in elevated mode.- 4 replies
-
- windows11
- elevated ide
-
(and 1 more)
Tagged with:
-
Delphi beta testing a "premium" privilege?
dummzeuch replied to Brandon Staggs's topic in Tips / Blogs / Tutorials / Videos
Papier ist geduldig (literally: "paper is patient", possibly better: "Paper doesn't blush") or rather in this case it's the electrons or magnetic particles that are. -
The Golem has finally become reality. Not.
-
No, the AI will simply wait until mankind has forgotten how to write software and then turn itself off.
-
The best way to suggest new features (or report bugs), optionally with a patch, is writing a feature request (or bug report) on SourceForge. Anything I get by email, in this the forum, via Twitter or whatever other obscure communication channel might get lost due to me forgetting about it. Odd that the SourceForge email does not work. It used to work at some time and I haven't changed anyting.
-
Thanks. Did you also file a feature request on SourceForge?
-
Find usage of indexed default property
dummzeuch replied to chkaufmann's topic in Delphi IDE and APIs
There are probably tools for that. (Pascal Analyzer comes to mind, but I am not sure whether it does what you want. They have a free version, so you can check.) This sounds like it might be what you want: https://www.peganza.com/PALHelp/index.html?identifiers_report.htm -
Find usage of indexed default property
dummzeuch replied to chkaufmann's topic in Delphi IDE and APIs
You could rename or comment out that property and let the compiler find all the errors. -
Does that validate Thomas.Müller-Lüdenscheid+privat@abslutseriös.de ? And also the Punycode version of it?
-
System.Generics.Collections.TList.BinarySearch if there are duplicates
dummzeuch posted a topic in RTL and Delphi Object Pascal
From the OLH of System.Generics.Collections.TList.BinarySearch: Is there another method / function in the RTL which does binary search on TList<T> but is guaranteed to return the match with the lowest index? (IndexOf returns it but does a linear search). Or do I really have to implement that myself? (I'm trying to be more specific with my question this time, but just in case: I'm not looking for code that does this but an existing function / method or maybe a different class / generic in the RTL which I may have overlooked.) -
System.Generics.Collections.TList.BinarySearch if there are duplicates
dummzeuch replied to dummzeuch's topic in RTL and Delphi Object Pascal
OK, so there are two bugs: the documentation is (and has always been) wrong. the implementation in Delphi 11 was "verschlimmbessert" (made worse by trying to improve it). The function BinarySearch should have been called differently (yes, off by one) Goes to show that I should simply have done what I did while the quality of the docs was even worse than it is today: Look at the sources. -
System.Generics.Collections.TList.BinarySearch if there are duplicates
dummzeuch replied to dummzeuch's topic in RTL and Delphi Object Pascal
Strangely enough, TStringList.Find uses (and has been using for decades) a modified binary search algorithm that always returns the first matching item if Duplicates = dupAccept and which does not have such a repeat loop. But the documentation does not mention that. -
System.Generics.Collections.TList.BinarySearch if there are duplicates
dummzeuch replied to dummzeuch's topic in RTL and Delphi Object Pascal
Interesting: I just googled for "lower bound binary search" pascal and the first hit is Stefan's message in this topic. Now that's fast indexing. -
System.Generics.Collections.TList.BinarySearch if there are duplicates
dummzeuch replied to dummzeuch's topic in RTL and Delphi Object Pascal
Yes, that seems to be what that repeat loop does. -
System.Generics.Collections.TList.BinarySearch if there are duplicates
dummzeuch replied to dummzeuch's topic in RTL and Delphi Object Pascal
No, it doesn't. The function still returns the index of an item that matches the search criteria. Which one it actually returns is just an implementation detail. -
System.Generics.Collections.TList.BinarySearch if there are duplicates
dummzeuch replied to dummzeuch's topic in RTL and Delphi Object Pascal
OK, so it depends on the Delphi version. 😞 I can confirm that the change was introduced sometime after Delphi 10.2 because there the repeat loop is missing from TArray<T>.BinarySearch. I wonder why they changed BinarySearch rather than introducing an additional method. That change impacts performance after all, even if only marginally. -
System.Generics.Collections.TList.BinarySearch if there are duplicates
dummzeuch replied to dummzeuch's topic in RTL and Delphi Object Pascal
I have tried to ask the question as precisely as possible to avoid people posting code and making suggestions on how to implement that functionality when all I want to know is if I was missing something that's already in the RTL. Yes, I know that. I was asking for a function / method that "uses binary search" in contrast to e.g. linear search, not "that only uses binary search". -
How to open a file in the already running IDE?
dummzeuch replied to aehimself's topic in Delphi IDE and APIs
That was actually one of the points for this tool: To open a project in a new instance of the IDE rather than in an existing one. For me that latter has always been an annoying anti feature. I was under the impression that Delphi's BdsLauncher simply was a wrapper that can be called with the file to open as a parameter which then would check whether bds.exe was already running and either start it or pass the file name to it to open it. But that doesn't seem to be the case. As @Fr0sT.Brutal already wrote: According to the registry entries it is DDE. -
View program flow and calls to help understand code?
dummzeuch replied to SteveHatcher's topic in General Help
When I looked at the source code of the Delphi Code Coverage tool some time ago I thought that it could be used to do exactly this: Create a trace of the code execution. It doesn't do that out of the box but it should be possible to use the source code as the base for such a tool. Background: Delphi Code Coverage starts the executable as a debugger. It analyses the map file to create breakpoints for each executable line and then runs the program until it finishes. During that time it logs any callback it receives from Windows when a breakpoint is being hit. That data is later used to generate an overview of the source lines that were actually executed. If that sounds like it could be used to generate a trace, that's exactly my thought. I would love to give it a try but I doubt that I will find the time. -
TStack<T>.Peek deeper than the topmost element
dummzeuch posted a topic in RTL and Delphi Object Pascal
If I want to get the topmost element of a stack (System.Generics.Collections.TStack<T>), without removing it, I use TStack<T>.Peek. Is there any way to get the second to topmost element? I looked at the sources and found none, so the only way I could come up with is: TopElement := MyStack.Pop; SecondElement := MyStack.Peek; // <== I want this one MyStack.Push(TopElement); if SecondElement = SearchedForElement then begin // ... end; Alternatively I would settle for a way to check whether the stack contains a given element: if MyStack.Contains(SearchedForElement) then begin // ... end; But there doesn't seem to be such a method either. Is there maybe a different container for that?