AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi SQLite statisch gelinkt und DB in Resource
Thema durchsuchen
Ansicht
Themen-Optionen

SQLite statisch gelinkt und DB in Resource

Ein Thema von Codehunter · begonnen am 29. Apr 2020 · letzter Beitrag vom 27. Mai 2020
Antwort Antwort
Seite 2 von 3     12 3      
Delphi.Narium

Registriert seit: 27. Nov 2017
2.415 Beiträge
 
Delphi 7 Professional
 
#11

AW: SQLite statisch gelinkt und DB in Resource

  Alt 29. Apr 2020, 14:33
Jo, sieht so aus.
Delphi-Quellcode:
/* 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}
Die Frage ist nur:

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"?
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#12

AW: SQLite statisch gelinkt und DB in Resource

  Alt 29. Apr 2020, 15:05
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.
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
10.995 Beiträge
 
Delphi 12 Athens
 
#13

AW: SQLite statisch gelinkt und DB in Resource

  Alt 29. Apr 2020, 16:50
Ist FireDAC in der Professional auch mit dieser FireDAC.inc kompiliert?
Offenbar ist es das. Sogar in der Enterprise und Architect. Zumindest wenn man den Debug-DCUs traut.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.116 Beiträge
 
Delphi 12 Athens
 
#14

AW: SQLite statisch gelinkt und DB in Resource

  Alt 29. Apr 2020, 16:58
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.

Schaut aus wie eine typische Emba-Lösung: ...
Notfalls müsste ich auf UniDAC ausweichen,
Nee nee, du mußt doch nur die Enterprise oder besser noch eine Architect kaufen.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (29. Apr 2020 um 17:03 Uhr)
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.415 Beiträge
 
Delphi 7 Professional
 
#15

AW: SQLite statisch gelinkt und DB in Resource

  Alt 29. Apr 2020, 17:06
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.
Das eine FireDAC.inc verwendet wird, ist schon klar.

Aber es muss nicht diese von GitHub sein
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.116 Beiträge
 
Delphi 12 Athens
 
#16

AW: SQLite statisch gelinkt und DB in Resource

  Alt 29. Apr 2020, 17:12
achsooooooo
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#17

AW: SQLite statisch gelinkt und DB in Resource

  Alt 29. Apr 2020, 18:49
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?
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
10.995 Beiträge
 
Delphi 12 Athens
 
#18

AW: SQLite statisch gelinkt und DB in Resource

  Alt 29. Apr 2020, 22:43
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).
Zumindest hat man es offenbar konsistent gemacht und hat in alle SKUs statisches Linken als Default. Dynamisches Linken geht dann erst ab Enterprise oder über eine direkte Anfrage bei Embarcadero nach den dafür benötigten Source-Dateien.

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.
In der neueren DLL wären dann ja auch nicht die Änderungen von Embarcadero drin. Die gäbe es auch nur mit einem Delphi-Update.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#19

AW: SQLite statisch gelinkt und DB in Resource

  Alt 30. Apr 2020, 11:57
In der neueren DLL wären dann ja auch nicht die Änderungen von Embarcadero drin. Die gäbe es auch nur mit einem Delphi-Update.
Stimmt auch wieder. Welchen Mehrwert hätte denn dann die Option für dynamisches Linken überhaupt? Außer dass die EXE 700 kB kleiner werden dürfte.
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.116 Beiträge
 
Delphi 12 Athens
 
#20

AW: SQLite statisch gelinkt und DB in Resource

  Alt 30. Apr 2020, 12:06
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.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (30. Apr 2020 um 12:10 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:52 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz