-
Content Count
2837 -
Joined
-
Last visited
-
Days Won
168
Everything posted by Uwe Raabe
-
During the upgrade process the unknown resources are moved to the .otares file and the dpk gets a reference for that. The recommended process in such a case is to use decent resources for the unknown ones and get rid of the .otares and the corresponding entry in the dpk. In the majority of cases the otares only contains a resource named PLATFORMTARGETS, which references targets no longer supported by the newer Delphi version. A typical otares file in that case has 96 bytes and can just be removed completely. Unfortunately some library vendors and open source libraries didn't grasp this and deliver these otares files. The warning you are referring to may be caused by something else. Perhaps one or more of those unknown resources were later added as regular resources to the project, which leads to the duplicate warning. The linker just detects resources with the same name, which cannot be resolved into one module.
-
I know, most likely I'm biased, but I'm not aware of any other working dataset enumerator than this one: https://github.com/UweRaabe/DataSetEnumerator. First described a couple of years ago on my blog: Dataset Enumerator Reloaded and now part of CmonLib.
-
It basically one of the rare cases when documentation was updated, but the underlying feature was dropped just before the release for several reasons. So it boils down to just fix the docs.
-
Did you actually try that? Even in Delphi 12 this report is still valid: https://quality.embarcadero.com/browse/RSP-39614
-
When a project is loaded all changes are local to the project. When no project is loaded all changes should be permanent. This has been the behavior since the beginning of Delphi, but that volatile unchecking bug crept in some time ago. Versions up to Delphi 7 even had a checkbox to make it permanent while a project is open (sorry, I only have a German D7 at hand)
-
Interestingly it works the other way round: When you check one of the Microsoft Office Automation Server packages it will stay checked when the IDE is restarted. Now you just can't get rid of it again by just unchecking...
-
This is already known: https://quality.embarcadero.com/browse/RSP-14289
-
Embarcadero can you please STOP making your install sooooo MARVELOUS?
Uwe Raabe replied to alogrep's topic in General Help
I did a quick check and at least in D12 and D11 the backup files are located in the __history subfolder. I'm pretty sure that this works this way since quite a couple of versions. Also, these files are not extended with ~pas or ~dfm, but version numbers ~<number>~, which correspond to the versions shown in the History tab. -
Embarcadero can you please STOP making your install sooooo MARVELOUS?
Uwe Raabe replied to alogrep's topic in General Help
You know that Embarcadero is barely monitoring this forum, don't you? If you want your rant being heard better contact a PM or sales representative. What do you think is done during beta tests? The actual number of installation tests most likely exceeds your request of 20 or 30 by magnitude. Unfortunately there are still some scenarios not covered by the testers. The best way to get these covered is to analyze the cause for the error and file a QP report with that information. Thinking about past events with a similar error: Did you by any chance make use of the "Remove unused paths" action in the library editor? -
Data structure for Integer ranges
Uwe Raabe replied to Tommi Prami's topic in Algorithms, Data Structures and Class Design
I cannot speak for Tommi, but I had a need for such a data structure where ranges of numbers were given in string format like "2,3,5,7-11,15-31" and the numbers going up to 6 digits. The actual testing for a given number being part of that was implemented by parsing the string each time, which turned out to be a bit time consuming. So we refactored it using a data structure similar to that shown above. -
Data structure for Integer ranges
Uwe Raabe replied to Tommi Prami's topic in Algorithms, Data Structures and Class Design
A pretty simple implementation (assuming ranges are non-overlapping and added in the right order) could look like this: type TRanges = class private FLow: TArray<Integer>; FHigh: TArray<Integer>; FType: TArray<Integer>; public procedure AddRange(ALow, AHigh, AType: Integer); function Contains(AValue: Integer; out AType: Integer): Boolean; end; procedure TRanges.AddRange(ALow, AHigh, AType: Integer); begin FLow := FLow + [ALow]; FHigh := FHigh + [AHigh]; FType := FType + [AType]; end; function TRanges.Contains(AValue: Integer; out AType: Integer): Boolean; var idx: Integer; begin Result := False; if not TArray.BinarySearch<Integer>(FLow, AValue, idx) then begin if idx < 1 then Exit; Dec(idx); end; if AValue <= FHigh[idx] then begin AType := FType[idx]; Result := True; end; end; -
SynEdit has a feature request for Multi-Select, but I am not sure if that was meant for this use case.
-
Where to put an app in Windows startup and shutdown and sleep mode?
Uwe Raabe replied to JohnLM's topic in General Help
AFAIK, that is only sent to applications already running. I have not tested, but when the scheduler executes the task the sleep probably cannot be avoided anymore. It should be doable to check this, but I refused to invest that time. -
Maybe this is the time to prepare a minimal test case so that we can reproduce.
-
You can try to set the connection offline during the backup. For more information see Offlining Connection (FireDAC)
-
This seems to be an error in the parser. I will have a look at it when time allows.
-
Can I "conditionally" turn OFF sorting hint?
Uwe Raabe replied to wxinix's topic in MMX Code Explorer
Not that I am aware of. -
Where to put an app in Windows startup and shutdown and sleep mode?
Uwe Raabe replied to JohnLM's topic in General Help
You could execute the app with a Windows Task Scheduler event triggered by the different conditions. The tricky part is to find the appropriate event ids, where The Kernel-Power Event Provider can be helpful. It also is possible that the app doesn't get the time to execute its task before the system goes to sleep and finishes it after waking up. -
INTAServices.AddMasked seems to be broken in Delphi 12
Uwe Raabe replied to dummzeuch's topic in GExperts
Not until you mentioned it. Will be fixed in the next release. -
INTAServices.AddMasked seems to be broken in Delphi 12
Uwe Raabe replied to dummzeuch's topic in GExperts
I have dropped using AddMasked for quite a while in favor of AddImages using a T(Virtual)ImageList and TActionList in dedicated datamodules. You can find that approach in https://github.com/UweRaabe/DelphiCodeCoveragePlugin. Note that unloading and reloading a plugin may scramble the image mapping. Alas I have not found a reliable test case up to now. -
Issue with Color Names Overlay in Object Inspector
Uwe Raabe replied to Shrinavat's topic in Delphi IDE and APIs
Sorry, that is only an excuse to not report bugs. It will only lead to the ability to lament on bugs not being fixed, while the reason they are not fixed is not being reported in the first place. While there indeed exist bugs that are not fixed in decades if ever, there are a lot more being fixed only because they were reported. F.i. my statistics list 145 reported bugs, from whom 30 are still open, while only 8 were closed as Works as expected. Reporting bugs is necessary for having them fixed - it may not be sufficient, but it just is necessary! So let me quote Thomas here: -
The docs explains it:
-
Works for me.
-
Increasing registration count not possible without active maintenance support
Uwe Raabe replied to Leif Uneus's topic in Delphi IDE and APIs
If that is indeed the case you should escalate this until you succeed. This would be the first case where Embarcadero actually denies the bump even when the request was made through the required channels. I have been involved in a couple of cases in the German Delphi-PRAXiS where the hint contacting Embarcadero Germany was sufficient to get it done. I don't know which sales office is responsible for your case, but I suggest pestering them on and on to get this straight. -
Ehm, what were your hope based on then? Random mutations of code caused by solar flares?