-
Content Count
3344 -
Joined
-
Last visited
-
Days Won
111
Posts posted by Lars Fosdal
-
-
They don't appear to offer an standalone Embarcadero version installer that matches the GetIt versions.
-
I've run into a D12 issue: The GetIt FastReports installer now installs to a user owned path!
C:\Users\<username>\Documents\Embarcadero\Studio\23.0\CatalogRepository\FastReport-2023.3\
It used to be: C:\Program Files (x86)\FastReports\This is a problem because our build server doesn't see that path as it runs with a different AD user than the user that installed Delphi, and hence barfs when trying compile units that contain Fast Reports units.
Has anyone found a good solution to this?
-
1 hour ago, tobenschain said:I'm getting "no such table" on the second.
Are you connecting to two different databases with two connection objects?
-
Please note that the Embedded LUA was a search find. I have not used it myself.
-
-
-
Six Sigma and Five Nines opportunity lost 😛
- 1
- 1
-
I agree. You can't blame the client facing people.
The management needs a good kick in the shins, though.
- 1
-
Well, the blogs were affected too...
- 1
- 1
-
I agree. It leaves a really bad impression - especially when it happens over and over.
- 2
-
Or is that the root cause?
- 3
-
18 hours ago, Remy Lebeau said:Several of Embarcadero's systems have been down since Friday night, including QualityPortal, DocWiki, GetIt, Blogs, etc.
EMBT knows and they are working on it.
No ETA as of now.
-
-
-
See
-
-
You can get rid of the coloring book background in Tools | Options | IDE | Welcome Page, press Clear
- 1
-
They are painfully aware of it. It is not good for their operational reputation.
- 1
-
So, if you intentionally refer to a non-existing custom attribute - you get no warning?
This compiler warning setting exists in my D12 project - and it appears to be True by default.- 1
-
There is nothing unusual with Explorer querying a registry entry that doesn't exist. In this case, it checks for Application Compatibility flags and finds none for bds.exe.
Nor is there anything unusual about Explorer reading from the files to extract things like file information resources.
In computing like in medicine - it is only when the patience appear sick that you start examining the symptoms in detail.
-
There are many better alternatives to Sleep.
https://learn.microsoft.com/en-us/windows/win32/sync/wait-functions#multiple-object-wait-functions
The downside of a single Sleep is that it blocks termination of the thread.
The downside of multiple Sleep + time checks to allow termination, consumes more CPU.
Signals, WaitForXXXX & Timeouts give you all the tools you need to have low cost and responsive threads - even if it requires a little more scaffolding code.
- 2
-
Same here. I really don't like design time db components.
-
39 minutes ago, JonRobertson said:I wouldn't say FireDAC succeeded ADO/dbGo. I would agree that FireDAC succeeded dbExpress.
That is probably an accurate assesment.
-
@JonRobertson I have no performance comparisons between the ODBC driver and the OLEDB driver, so I'll have to take that at face value.
Devart did a a more nuanced comparison between the two.
The OLEDB driver was deprecated by MS at one point, then undeprecated in 2018.
Not sure why EMBT chose not to create a wrapper for it, but resources may have been an issue?
As for ODBC vs Native - In case there are multiple drivers installed, I wrote the following simple code to pick my preferred driver, but these days we stick with the ODBC driver(s) due to the Native Client being too old for some of our databases.
class function TPSDFireDatabasePoolMSSQL.FindBestDriver(const Link: TFDPhysMSSQLDriverLink): String; const // Constants copied from implementation section of FireDAC.Phys.MSSQL C_SQL_SERVER = 'SQL Server'; // DO NOT TRANSLATE C_2019_ODBC = 'ODBC DRIVER 19 FOR SQL SERVER'; // DO NOT TRANSLATE C_2018_ODBC = 'ODBC DRIVER 18 FOR SQL SERVER'; // DO NOT TRANSLATE C_2017_ODBC = 'ODBC DRIVER 17 FOR SQL SERVER'; // DO NOT TRANSLATE C_2016_ODBC = 'ODBC DRIVER 13 FOR SQL SERVER'; // DO NOT TRANSLATE C_2012_ODBC = 'ODBC DRIVER 11 FOR SQL SERVER'; // DO NOT TRANSLATE {$IFDEF POSIX} C_FreeTDS = 'FreeTDS'; {$ENDIF} {$IFDEF MSWINDOWS} C_2012_NC = 'SQL SERVER NATIVE CLIENT 11.0'; // DO NOT TRANSLATE {$ENDIF} var DriverList : TStringList; WantedList : TArray<String>; Driver: string; begin Result := ''; // Blank = Default WantedList := {$IFDEF MSWINDOWS} {$IFDEF SQLNative} [C_2012_NC, C_2017_ODBC, C_2016_ODBC, C_2012_ODBC] {$ELSE} [C_2018_ODBC, C_2017_ODBC, C_2016_ODBC, C_2012_NC, C_2012_ODBC] {$ENDIF} {$ENDIF} {$IFDEF POSIX} [C_2018_ODBC, C_2017_ODBC, C_2016_ODBC, C_2012_ODBC, C_FreeTDS] {$ENDIF}; DriverList := TStringList.Create; try Link.GetDrivers(DriverList); DebugOut('Available SQL drivers'); // DO NOT TRANSLATE for Driver in DriverList do DebugOut(' "' + Driver + '"'); for var Wanted in WantedList do for Driver in DriverList do begin if CompareText(Wanted , Driver) = 0 then begin DebugOut('Selected driver: "' + Driver + '"'); // DO NOT TRANSLATE BestDriver := Driver; Exit(Driver); end; end; finally DriverList.Free; end; end;
D12 CatalogRepository Problem!
in Delphi Third-Party
Posted
That is indeed a possible path, but somewhat cumbersome.