FireDac SQLite 在 Delphi 10.4 中有变化吗?

Did FireDac SQLite change in Delphi 10.4?

我的 Delphi 项目从未使用过实际的 sqlite3.dll 而是使用嵌入式库。

我用 10.4 重新编译了项目并将其发送给看到此错误的测试人员:

Exception EFDException in module ChessOpeningsWizardProfessional2016.exe at 007C6FDC. [FireDAC][Phys][SQLite]-314. Cannot load vendor library [sqlite3.dll or libdb_sql51.dll]. The specified module could not be found Hint: check it is in the PATH or application EXE directories, and has x86 bitness.

它在我的机器上运行良好,没有任何 Dll。

关于 Delphi 10.4 Sydney 中的 Sqlite3,FireDac 中有什么变化吗?

是的,它确实发生了变化 - 请参阅:

http://docwiki.embarcadero.com/RADStudio/Sydney/en/New_features_and_customer_reported_issues_fixed_in_RAD_Studio_10.4#FireDAC_SQLite_driver_offers_both_static_and_dynamic_linkage

For SQLite, FireDAC adds the ability to choose static vs dynamic linkage of SQLite engine. To use the static linkage of SQLite engine it is required to add the unit "FireDAC.Phys.SQLiteWrapper.Stat" to the uses clause of one of the units of your project. Otherwise dynamical linkage will be chosen. There is a new property TFDPhysSQLiteDriverLink.EngineLinkage. When the value is slDefault or slStatic, then the "FireDAC.Phys.SQLiteWrapper.Stat" unit will be added at design-time to the unit hosting the component. If application defines the connection at run-time, then the "FireDAC.Phys.SQLiteWrapper.Stat" unit must be added manually.