-
Content Count
2490 -
Joined
-
Last visited
-
Days Won
143
Posts posted by Uwe Raabe
-
-
What prohibits you to take the files installed in CatalogRepository?
Even a standalone installer would not make a difference when you are using a dedicated repository.
Let me explain my workflow with 3rd party libraries:
- install as usual (Setup or GetIt) and remove any unwanted references (mostly search paths) in Delphi inserted during the installation
- if not done before, create a new repository at a convenient place and create a vendor branch
- switch the repository to vendor branch
- copy the files from the installation to the repository and commit to vendor branch
- merge vendor branch into main branch.
Depending on your situation you may get away with global library repositories used for all projects, but I prefer local sub-repositories for each project. I also remove any 3rd party library folders in the IDE and have the local libraries added to the project search path.
- 1
-
48 minutes ago, Attila Kovacs said:How can I install Delphi without their running servers?
You still can install from ISO.
49 minutes ago, Attila Kovacs said:What happens when these servers are gone forever for any reason?
I suggest converting any Workstation License into a Named Network License and setting up your own ELC server. (see Software Licensing and Management)
IMHO, all professional developers, especially companies, using Delphi should already have done this.
- 3
-
39 minutes ago, Lars Fosdal said:Has anyone found a good solution to this?
Don't use GetIt to handle your library sources.
Although I may use GetIt to install some of its libraries, I always put those into my own repository where they can be accessed from the build server.
- 1
-
FireDAC has no problems with multiple connections. There must be something wrong on your side.
-
2 minutes ago, Vandrovnik said:And how could spikes in download even destroy a server (hardware)...
I guess that is just a coincidence. Given the number of outages before, it probably is that piece of hardware dying since months.
- 1
-
-
Just in case: you can enlarge the plugin, too.
-
1 hour ago, Der schöne Günther said:The compiler will only check the attributes if the source code file (the binary .dcu it ends up in) gets rebuilt.
That is the same with all warnings and hints.
If you want to avoid the complete build you can use a Syntax Check.
-
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.
- 4
-
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.
- 2
-
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.
-
57 minutes ago, Remy Lebeau said:If you want the loop to iterate through the records automatically, use a for..in loop instead, see Iteration Over Datasets Using For Statements, for example:
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)
- 2
-
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...
-
-
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.
-
58 minutes ago, alogrep said:Embarcadero, can you please do your (paid work)???Why do I have to spend days fixing your bugs?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.
1 hour ago, alogrep said:Can you test your installation app maybe 20 or 30 times before selling it to me and others"?
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?
- 1
-
1 hour ago, Attila Kovacs said:For me it sounds like an indexing task, store the data to the integer and not the opposite.
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.
- 1
-
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;
- 1
-
SynEdit has a feature request for Multi-Select, but I am not sure if that was meant for this use case.
-
3 minutes ago, Lars Fosdal said:Isn't there messages to respond to that can prevent/postpone the sleep?
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.
FYI - Several Embarcadero services are currently unavailable
in General Help
Posted
See part two of my answer. The ELC Server provides a slip file to be used for that.