-
Content Count
2548 -
Joined
-
Last visited
-
Days Won
147
Everything posted by Uwe Raabe
-
Try HWND_BROADCAST instead of Application.Handle
-
The TVirtualImageList can only hold images of one size, which it retrieves from a TImageCollection. That works even if the requested size is not available in the collection. In that case one image is scaled to the requested size. To have multiple sizes simultaneously you need separate TVirtualImageList instances. If you need only one size, just set the TVirtualImageList to that size.
-
Delphi beta testing a "premium" privilege?
Uwe Raabe replied to Brandon Staggs's topic in Tips / Blogs / Tutorials / Videos
It has been for a long time that selected beta testers (like f.i. all MVPs and Tech Partners) are invited early to a beta cycle, while users with an active (normal) Update Subscription are invited at a later stage (so they actually are already open to any willing subscriber). Now it seems that having a Premium Update Subscription puts you into the first group, too. Does not look like a big change to the previous system to me. May be they want to put more value into the Premium part, which isn't a bad thing. Nothing is taken away from anyone. -
Delphi 11.1 + patches - No debug source / breakpoints?
Uwe Raabe replied to Lars Fosdal's topic in Delphi IDE and APIs
Sorry. Perhaps I misunderstood as I was under the impression that this was the cause of your problem. -
Delphi 11.1 + patches - No debug source / breakpoints?
Uwe Raabe replied to Lars Fosdal's topic in Delphi IDE and APIs
That doesn't surprise me, as it probably does the same as the new IDE functionality does. Would it be possible to get hands on such a file with a single CR for testing purposes? -
Delphi 11.1 + patches - No debug source / breakpoints?
Uwe Raabe replied to Lars Fosdal's topic in Delphi IDE and APIs
Project Magician has an option for that: -
OK, I will try to reproduce. Which Delphi version are we talking about?
-
Which platforms are in that project? Background: There already is some special handling with Version Info on Windows-only and mixed platform projects. Perhaps that needs to be done for some application settings, too.
-
Correct! That is the setting that allows to set the custom manifest for all configurations.
-
The Delphi Certified Developer // To prepare for the exam
Uwe Raabe replied to skyzoframe[hun]'s topic in Tips / Blogs / Tutorials / Videos
Why is it unfair? It is a certificate given by Embarcadero. It is expected to be about their own tools and not about any thrid-party ones. After all, everyone is free to take that exam or leave it if feeling uncomfortable with it. -
The Delphi Certified Developer // To prepare for the exam
Uwe Raabe replied to skyzoframe[hun]'s topic in Tips / Blogs / Tutorials / Videos
The idea behind probably is that a Delphi Master Developer should to be proficient in these, too. After all, they are part of Delphi Enterprise. Perhaps that is exactly what makes the difference: Being experienced in all or at least most parts of Delphi, not only some core parts. Of course, I don't know the actual reasons. -
The Delphi Certified Developer // To prepare for the exam
Uwe Raabe replied to skyzoframe[hun]'s topic in Tips / Blogs / Tutorials / Videos
It has been quite some time when I made this certificate. Actually, I was one of the first people doing it. The questions were quite challenging, especially because they required deep knowledge of most of the Enterprise features of Delphi. In the past years there were many additions to these (e.g. FireDAC, REST, Mobile etc.) and I doubt that the questions kept the same over the time. I cannot say anything about the current state and level of difficulty of the exam. -
System.Generics.Collections.TList.BinarySearch if there are duplicates
Uwe Raabe replied to dummzeuch's topic in RTL and Delphi Object Pascal
As we now found out: it doesn't. While the implementation changed in Delphi 11 it always made a lower bound binary search even in Delphi versions below 11. -
Nasty Parallel Programming Library bug - please vote
Uwe Raabe replied to eivindbakkestuen's topic in RTL and Delphi Object Pascal
Perhaps a bit difficult for a race condition. -
System.Generics.Collections.TList.BinarySearch if there are duplicates
Uwe Raabe replied to dummzeuch's topic in RTL and Delphi Object Pascal
Seems you are right. The implementation up to 10.4 looks like it is already satisfying the requirement. In that case the change made in 11 may as well be reverted. I will ask for the reason of that change. -
System.Generics.Collections.TList.BinarySearch if there are duplicates
Uwe Raabe replied to dummzeuch's topic in RTL and Delphi Object Pascal
Because it didn't return the first matching element but an arbitrary one. I was pretty sure someone requested it, but I cannot find any QP entry for that. It is also possible that it was initiated internally. -
System.Generics.Collections.TList.BinarySearch if there are duplicates
Uwe Raabe replied to dummzeuch's topic in RTL and Delphi Object Pascal
Here is the QP entry: https://quality.embarcadero.com/browse/RSP-40174 -
System.Generics.Collections.TList.BinarySearch if there are duplicates
Uwe Raabe replied to dummzeuch's topic in RTL and Delphi Object Pascal
Neither did I say so, nor is the code broken. It may have a bad performance in some cases, but if I can rule out these cases, why should I dismiss that code? -
System.Generics.Collections.TList.BinarySearch if there are duplicates
Uwe Raabe replied to dummzeuch's topic in RTL and Delphi Object Pascal
Currently I cannot find one. Seems like @dummzeuch is the right person. If he refuses I will be happy to step in. The reference to the TStringList.Find implementation should definitely be mentioned. I also suggest a separate QP entry for updating the documentation. -
System.Generics.Collections.TList.BinarySearch if there are duplicates
Uwe Raabe replied to dummzeuch's topic in RTL and Delphi Object Pascal
I admit the wording was chosen as a counterpart to Davids claim and should not be taken literally. In addition I also mentioned that I would vote for a better implementation. It is just my personal opinion that if everybody is going to avoid the standard routines in favor of writing its own, we may never see any improvement in that area. -
System.Generics.Collections.TList.BinarySearch if there are duplicates
Uwe Raabe replied to dummzeuch's topic in RTL and Delphi Object Pascal
Nobody should create such a worst case list in the first place. Honestly, I don't understand such a statement targeting an extreme corner case. Although I would vote for a better implementation, my lists are usually without any duplicates and therefore don't care about that, but perhaps I am special. -
System.Generics.Collections.TList.BinarySearch if there are duplicates
Uwe Raabe replied to dummzeuch's topic in RTL and Delphi Object Pascal
Which was undefined before (to be fair). -
System.Generics.Collections.TList.BinarySearch if there are duplicates
Uwe Raabe replied to dummzeuch's topic in RTL and Delphi Object Pascal
Reading the current code of Delphi 11.2 I assume the documentation is wrong. TList<T.BinarySearch just calls TArray.BinarySearch, which implements the search loop like this: while L <= H do begin mid := L + (H - L) shr 1; cmp := Comparer.Compare(Values[mid], Item); if cmp < 0 then L := mid + 1 else if cmp > 0 then H := mid - 1 else begin repeat Dec(mid); until (mid < Index) or (Comparer.Compare(Values[mid], Item) <> 0); FoundIndex := mid + 1; Exit(True); end; end; The repeat inside the equals case searches for the lowest matching index before returning it and exit. AFAIK, this was introduced with 11.0 and nobody thought of updating the docs for both methods. -
Created with SnagIt.
-
I can verify the expected behavior from previous versions with the following settings in Editor options - Language (Delphi): Disabling Smart tab results in the annoying behavior you describe. Embarcadero® Delphi 11 Version 28.0.46481.1287