dEXIF handling
- h-elsner
- Lazarusforum e. V.
- Beiträge: 282
- Registriert: Di 24. Jul 2012, 15:42
- OS, Lazarus, FPC: LINUX Mint21.1, Win10, Lazarus 2.2.4, FPC3.2.2
- CPU-Target: X86-64; arm 32bit
- Wohnort: Illertissen
- Kontaktdaten:
dEXIF handling
Ich versuche gerade EXIF Daten einer JPG Datei zu lesen und zu schreiben. Da ist mir die Komponente dEXIF ins Auge gefallen.
Diese habe ich mit OnLinePackageManager installiert und sie steht auch im Home-Verzeichnis ...\lazarus\onlinepackagemanager\packages.
Er findet aber die unit dEXIF nicht, wenn ich sie mit uses benutzen will. Nach Eintrag des Verzeichnisses in den Projekteinstellungen > Pfade > Andere Units wird die unit dann aber doch gefunden. Warum muss man das hier extra angeben, bei allen anderen Komponenten aber nicht?
Wenn dann die unit dEXIP in uses steht und auch gefunden wurde, wird aber wiederum TImgData als unbekannt angemeckert. Welche Unit muss ich da noch einbinden? Leider finde ich zu diesem Typ nichts weiter.
Gruß HE
Diese habe ich mit OnLinePackageManager installiert und sie steht auch im Home-Verzeichnis ...\lazarus\onlinepackagemanager\packages.
Er findet aber die unit dEXIF nicht, wenn ich sie mit uses benutzen will. Nach Eintrag des Verzeichnisses in den Projekteinstellungen > Pfade > Andere Units wird die unit dann aber doch gefunden. Warum muss man das hier extra angeben, bei allen anderen Komponenten aber nicht?
Wenn dann die unit dEXIP in uses steht und auch gefunden wurde, wird aber wiederum TImgData als unbekannt angemeckert. Welche Unit muss ich da noch einbinden? Leider finde ich zu diesem Typ nichts weiter.
Gruß HE
-
- Beiträge: 289
- Registriert: Mo 24. Aug 2020, 14:16
- OS, Lazarus, FPC: Ubuntu Xenial 32, Lazarus 2.2.0, FPC 3.2.2
- CPU-Target: i386
Re: dEXIF handling
Wenn ich das richtig verstanden habe, geht der Weg mit Lazarus immer über die Packages. Füg also mal das installierte Package über den Projektinspektor deinem Projekt hinzu, dann sollten auch die Units (und Komponenten) gefunden werden. Den Suchpfad wieder aus den Projekteinstellungen entfernen.
- h-elsner
- Lazarusforum e. V.
- Beiträge: 282
- Registriert: Di 24. Jul 2012, 15:42
- OS, Lazarus, FPC: LINUX Mint21.1, Win10, Lazarus 2.2.4, FPC3.2.2
- CPU-Target: X86-64; arm 32bit
- Wohnort: Illertissen
- Kontaktdaten:
Re: dEXIF handling
Danke für die schnelle Antwort. Gleich mal ausprobiert...
Wenn ich das package "dexif_package" bei Benötigte packages hinzufüge, ist TImgdata immer noch unbekannt und es kommen eine Menge Meldungen Duplicate unit...
Scheinbar hat der OnlinePackagemanager da doch etwas gemacht.
Interessant ist noch, dass die unit dEXIF nun bei uses erkannt wird nachdem ich den Suchpfad wieder entfernt habe (ohne schon im Projectinpektor irgendetwas gemacht zu haben. Hmm.
Gruß HE
Wenn ich das package "dexif_package" bei Benötigte packages hinzufüge, ist TImgdata immer noch unbekannt und es kommen eine Menge Meldungen Duplicate unit...
Scheinbar hat der OnlinePackagemanager da doch etwas gemacht.
Interessant ist noch, dass die unit dEXIF nun bei uses erkannt wird nachdem ich den Suchpfad wieder entfernt habe (ohne schon im Projectinpektor irgendetwas gemacht zu haben. Hmm.
Gruß HE
- h-elsner
- Lazarusforum e. V.
- Beiträge: 282
- Registriert: Di 24. Jul 2012, 15:42
- OS, Lazarus, FPC: LINUX Mint21.1, Win10, Lazarus 2.2.4, FPC3.2.2
- CPU-Target: X86-64; arm 32bit
- Wohnort: Illertissen
- Kontaktdaten:
Re: dEXIF handling
OK, der letzte satz ist falsch. Wenn ich das Verzeichnis /lib lösche, wird auch dEXIF nicht mehr gefunden. Die wird dann gefunden, wenn ich das Package über den Projektinspektor wieder hinzufüge.
TImgData ist aber immer noch unbekannt.
Gruß HE
Nachsatz: Win10 64bit, Lazarus 2.0.10/FPC 3.2.0
Beispiel:
TImgData ist aber immer noch unbekannt.
Gruß HE
Nachsatz: Win10 64bit, Lazarus 2.0.10/FPC 3.2.0
Beispiel:
-
- Beiträge: 289
- Registriert: Mo 24. Aug 2020, 14:16
- OS, Lazarus, FPC: Ubuntu Xenial 32, Lazarus 2.2.0, FPC 3.2.2
- CPU-Target: i386
Re: dEXIF handling
Leider kenne ich das Package nicht, aber eine kurze Suche ergab, dass TImgData wohl in Unit dMetaData definiert ist.
Re: dEXIF handling
Ich weiß nicht was du da machst. Normalerweise ist der Unit-Pfad für Lazarus-Programmierer tabu, alle Abhängigkeiten werden über die Packages realisiert, die im Package-Manager eingetragen werden.
Wenn du dExif über den Online-Package-Manager heruntergeladen und "installiert" hast, müsste Lazarus das zugehörige Package kennen (wenn nicht, die lpk-Datei unter "Package" > "Package-Datei öffnen" öffnen - das müsste reichen, man kann es zur Sicherheit aber auch gleich kompilieren; Designtime-Packages müssen zusätzlich "Verwenden" > "Installieren" installiert werden -- aber das hat der OPM alles schon getan...).
Um das dExif-Package in einem Projekt zu verwenden, öffne den Projekt-Inspektor("Projekt" > "Projektinspector"), Rechtsklick auf "Benötigte Packages" > "Hinzufügen"; in der Liste des Fensters "Neue Anforderung" suche das dExif-Package, auswählen und OK. Das Package erscheint dann im Projektinspektor unter "Benötigte Packages". Nun kannst du wie gewohnt die im Package enthaltenen Units in die "uses"-Zeile deines Programms aufnehmen.
Da du schon Eintragungen im Suchpfad hattest, lösche den Suchpfad und das lib-Verzeichnis (oder wie auch immer das Verzeichnis heißt, in dem bei dir die übersetzten Units landen) vor der Neukompilierung.
Damit MUSS es funktionieren.
Eine Bemerkung in eigener Sache:
dExif war mal Gegenstand einer längeren Diskussion hier im Forum und daraus ist das Package fpExif entstanden, bei dem viele Schwächen von dExif beseitigt sind. Da es noch ein Problem mit den "Maker Notes" der Kamerahersteller gibt (übrigens auch bei dExif), habe ich das Package noch nicht im Online-Package-Manager zur Verfügung gestellt. Du findest die Dateien unter https://sourceforge.net/p/lazarus-ccr/s ... ts/fpexif/ (svn verwenden, oder den Snapshot herunterladen). Der Hauptvorteil von fpExif gegenüber dExif ist, dass das neue Package im Gegensatz zum alten gewartet wird.
Wenn du dExif über den Online-Package-Manager heruntergeladen und "installiert" hast, müsste Lazarus das zugehörige Package kennen (wenn nicht, die lpk-Datei unter "Package" > "Package-Datei öffnen" öffnen - das müsste reichen, man kann es zur Sicherheit aber auch gleich kompilieren; Designtime-Packages müssen zusätzlich "Verwenden" > "Installieren" installiert werden -- aber das hat der OPM alles schon getan...).
Um das dExif-Package in einem Projekt zu verwenden, öffne den Projekt-Inspektor("Projekt" > "Projektinspector"), Rechtsklick auf "Benötigte Packages" > "Hinzufügen"; in der Liste des Fensters "Neue Anforderung" suche das dExif-Package, auswählen und OK. Das Package erscheint dann im Projektinspektor unter "Benötigte Packages". Nun kannst du wie gewohnt die im Package enthaltenen Units in die "uses"-Zeile deines Programms aufnehmen.
Da du schon Eintragungen im Suchpfad hattest, lösche den Suchpfad und das lib-Verzeichnis (oder wie auch immer das Verzeichnis heißt, in dem bei dir die übersetzten Units landen) vor der Neukompilierung.
Damit MUSS es funktionieren.
Eine Bemerkung in eigener Sache:
dExif war mal Gegenstand einer längeren Diskussion hier im Forum und daraus ist das Package fpExif entstanden, bei dem viele Schwächen von dExif beseitigt sind. Da es noch ein Problem mit den "Maker Notes" der Kamerahersteller gibt (übrigens auch bei dExif), habe ich das Package noch nicht im Online-Package-Manager zur Verfügung gestellt. Du findest die Dateien unter https://sourceforge.net/p/lazarus-ccr/s ... ts/fpexif/ (svn verwenden, oder den Snapshot herunterladen). Der Hauptvorteil von fpExif gegenüber dExif ist, dass das neue Package im Gegensatz zum alten gewartet wird.
- h-elsner
- Lazarusforum e. V.
- Beiträge: 282
- Registriert: Di 24. Jul 2012, 15:42
- OS, Lazarus, FPC: LINUX Mint21.1, Win10, Lazarus 2.2.4, FPC3.2.2
- CPU-Target: X86-64; arm 32bit
- Wohnort: Illertissen
- Kontaktdaten:
Re: dEXIF handling
Vielen Dank an alle.
Den Suchpfad hatte ich schon zurückgestellt und dEXIF über den Projektmanager zugewiesen. Mit Aufnahme von dMetaData in uses ging es dann.
Meine Antwort ist aber ins Nirvana gegangen, weil der Handwerker im Haus den FI-Schutzschalter geworfen hat. Jetzt bin ich aber wieder da.
Dank deinem Hinweis, @wp_xyz werde mal auf auf fpExif umstellen. Wenn ich schon bei Null anfange, dann gleich beim richtigen Package.
Gruß HE
Den Suchpfad hatte ich schon zurückgestellt und dEXIF über den Projektmanager zugewiesen. Mit Aufnahme von dMetaData in uses ging es dann.
Meine Antwort ist aber ins Nirvana gegangen, weil der Handwerker im Haus den FI-Schutzschalter geworfen hat. Jetzt bin ich aber wieder da.
Dank deinem Hinweis, @wp_xyz werde mal auf auf fpExif umstellen. Wenn ich schon bei Null anfange, dann gleich beim richtigen Package.
Gruß HE
Re: dEXIF handling
Es ist leicht zu übersehen, aber in der Datei readme.txt steht eine kleine Einführung. Außerdem findest du im Download einige Beispiel-Projekte.
- h-elsner
- Lazarusforum e. V.
- Beiträge: 282
- Registriert: Di 24. Jul 2012, 15:42
- OS, Lazarus, FPC: LINUX Mint21.1, Win10, Lazarus 2.2.4, FPC3.2.2
- CPU-Target: X86-64; arm 32bit
- Wohnort: Illertissen
- Kontaktdaten:
Re: dEXIF handling
Jawohl. Bis jetzt fühle ich mit fpEXIF wohl. "ImgInfo.LoadFromFile" - solche Sachen, da fühlt man sich zu Hause.
Danke für den Hinweis auf die gepflegte Komponente.
Die readme hatte ich gesehen, sonst wäre ich nicht soweit gekommen, um eine Datei zu laden.
Die Beispiele schau ich mir schritt für Schritt an.
Gruß HE
Danke für den Hinweis auf die gepflegte Komponente.
Die readme hatte ich gesehen, sonst wäre ich nicht soweit gekommen, um eine Datei zu laden.

Gruß HE
- h-elsner
- Lazarusforum e. V.
- Beiträge: 282
- Registriert: Di 24. Jul 2012, 15:42
- OS, Lazarus, FPC: LINUX Mint21.1, Win10, Lazarus 2.2.4, FPC3.2.2
- CPU-Target: X86-64; arm 32bit
- Wohnort: Illertissen
- Kontaktdaten:
Re: dEXIF handling
Edit: Bitte ignorieren. Das war ein fehlerhafter Kommentar.
Gruß HE
Gruß HE
- h-elsner
- Lazarusforum e. V.
- Beiträge: 282
- Registriert: Di 24. Jul 2012, 15:42
- OS, Lazarus, FPC: LINUX Mint21.1, Win10, Lazarus 2.2.4, FPC3.2.2
- CPU-Target: X86-64; arm 32bit
- Wohnort: Illertissen
- Kontaktdaten:
Re: dEXIF handling
Es macht richtig Spaß mit fpEXIF zu arbeiten. Es versteht sich so viel von selbst. Sehr schöne Komponente. Macht alles, was ich will und brauche. Danke!
Gruß HE
Gruß HE