![]() |
AW: SQLite statisch gelinkt und DB in Resource
Jo, sieht so aus.
Delphi-Quellcode:
Die Frage ist nur:
/* Bisserl umformatiert, ums lesbarer zu machen */
{------------------------------------------------------------------------------} { SQLite driver } {------------------------------------------------------------------------------} {$IF DEFINED(MSWINDOWS) or DEFINED(MACOS) and not DEFINED(IOS) or DEFINED(IOS) and (DEFINED(CPUARM) or DEFINED(CPUARM64)) or DEFINED(ANDROID)} {$DEFINE FireDAC_SQLITE_STATIC} // Use SQLite3 static linking library {$IF DEFINED(MACOS) and not DEFINED(IOS) or DEFINED(IOS) and (DEFINED(CPUARM) or DEFINED(CPUARM64)) or DEFINED(ANDROID)} {$DEFINE FireDAC_SQLITE_EXTERNAL} // Link SQLite3 library using "external" keyword {$ENDIF} {$ENDIF} Ist FireDAC in der Professional auch mit dieser FireDAC.inc kompiliert? Das müsstest Du mal ausprobieren. Programm mit Zugriff auf SQLite erstellen und beim Probieren sicherstellen, da (außer der Datenbankdatei) nix von SQLite für das Programm irgendwie erreichbar ist. Weder im EXE-Verzeichnis noch irgendwo im Pfad noch sonstwie. Wenn's dann geht sollte es passen, andernfalls "Pech gehabt"? |
AW: SQLite statisch gelinkt und DB in Resource
Genau so sehe ich das auch. Ich kann ja auch mit dem Process Monitor nachschauen, welche DLLs geladen werden.
Ist eben das erste Mal dass ich mit SQLite zu tun habe. Schaut aus wie eine typische Emba-Lösung: So kompliziert wie möglich und so viel dokumentiert wie nötig. Notfalls müsste ich auf UniDAC ausweichen, was aber von der Performance her weit unter FireDAC liegt und in meinem Fall kommen eine Menge Random-Read-Zugriffe zusammen. |
AW: SQLite statisch gelinkt und DB in Resource
Zitat:
|
AW: SQLite statisch gelinkt und DB in Resource
Dass die INC verwendet wird, war schon fast klar ... sonst würde es ja nichts helfen dort was umzuschreiben, wenn es dann nicht benutzt würde. :angle:
Zitat:
|
AW: SQLite statisch gelinkt und DB in Resource
Zitat:
Aber es muss nicht diese von GitHub sein ;-) |
AW: SQLite statisch gelinkt und DB in Resource
achsooooooo :oops:
|
AW: SQLite statisch gelinkt und DB in Resource
Ich glaube, ich habe das von der falschen Seite her betrachtet. Aus Sicht von Emba macht das natürlich am meisten Sinn, statisches Linken als Default einzustellen wenn man den FireDAC-Code nicht mitliefert (bei den kleineren Editions). So wird ein zusätzlicher Anreiz geschaffen, neuere Delphis bzw. Subscription zu kaufen. Immerhin ist das FireDAC-SQLite modifiziert um z.B. Unicode, Verschlüsselung etc. zu unterstützen. Neuere Features seitens SQLite fehlen dann aber und können nicht so einfach durch Austausch der DLL nachgerüstet werden. Ob die Macher von SQLite das im Sinn hatten, als sie das DBMS unter eine PD-Lizenz gestellt haben? :roll:
|
AW: SQLite statisch gelinkt und DB in Resource
Zitat:
Zitat:
|
AW: SQLite statisch gelinkt und DB in Resource
Zitat:
|
AW: SQLite statisch gelinkt und DB in Resource
Du kannst die DLL tauschen, wenn es da eine bessere Version gibt, ohne die EXE neu kompilieren zu müssen.
Aber sowas betrifft einen eher, wenn man eine Verbindung zu externen Datenbanken aufnimmt. z.B. im DB-Server wird ein Sicherheitsbugfix gemacht oder die ändern bei der Connection was, dann brauchst nur die DLL der DB-Komponente zu aktualisieren. Es gibt bei einigen Dingen auch die Mischung ... da hast dann beide Vorteile. (alles in der EXE, aber upgradefähig) Es wird das Interne benutzt, außer es wird z.B. neben der EXE die DLL gefunden. Ist dann wie mit den Sprachressourcen von Delphi. Die SysConst ist in einer der 5 Sprachen einkompiliert, aber wenn man die RessourcenDLLs der anderen Sprachen daneben legt, dann werden die benutzt. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:53 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz