[Erl] fpspreadsheet readfromfile geht nicht mit visual comp

Rund um die LCL und andere Komponenten

[Erl] fpspreadsheet readfromfile geht nicht mit visual comp

Beitragvon af0815 » 17. Jun 2017, 16:05 [Erl] fpspreadsheet readfromfile geht nicht mit visual comp

Ich habe Probleme mit dem ReadFromFile beim Workbook in einem Frame. Es kommt immer die Meldung 'Tried to read a spreadsheet using an unsupported format'. Soweit so gut.

Das Problem habe ich versucht zu Analysieren und ein Beispiel erstellt. Siehe angehängtes Beispiel.

Wenn ich im Beispiel nur laz_fpspreadsheet einbinde so läuft die Applikation ohne Probleme und liest das xls-File. ENtferne ich das Paket laz_fpspreadsheet und lege nur eine Workbookkomponente auf das sheet, dann wird automatisch laz_fpspreadsheet_visual eingebunden und das Beispiel läuft nicht mehr und verursacht die Exception.

Lazarus 1.8.0RC2 r55301 FPC 3.1.1 i386-win32-win32/win64 / fpspreadsheet svn-r5919

?!?

Andreas
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von af0815 am 17. Jun 2017, 18:14, insgesamt 1-mal geändert.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
af0815
 
Beiträge: 3490
Registriert: 7. Jan 2007, 10:20
Wohnort: Niederösterreich
OS, Lazarus, FPC: FPC 3.2 Lazarus 2.0 per fpcupdeluxe | 
CPU-Target: 32Bit (64Bit)
Nach oben

Beitragvon wp_xyz » 17. Jun 2017, 17:34 Re: fpspreadsheet - readfromfile geht nicht mit visual compo

Diese Fehlermeldung kommt immer, wenn der Reader/Writer für das Dateiformat nicht bekannt ist. Du musst dazu die entsprechende Unit in "uses" angeben, z.B. für die xls-Datei in deinem Beispiel xlsbiff8, oder fpsallformats für alle unterstützten Formate.

Ich habe ein bisschen nachgeforscht, warum sich das Programm mit visuellen Komponenten anders verhält als ohne.

Mit visuellen Komponenten wird das Package laz_fpspreadsheet_visual zu den Requirements hinzugefügt, es erscheint *NICHT* in der uses-Zeile des Projekts. Ohne die visuellen Komponenten musst du das Package laz_fpspreadsheet (ohne "_visual") manuell zu den Requirements hinzufügen. Aus einem mir unbekannten Grund (vielleicht weil es ein RunTime-Package ist) wird die Package-Unit (laz_fpspreadsheet.pas) auch zur uses-Zeile des Projekts hinzugefügt. Da aus einem weiteren mir unbekannten Grund (wahrscheinlich ist es ein Versehen...) die Unit fpsallformats in der lpk-Datei mit "use unit" markiert ist, wird diese unit in laz_fpspreadsheet.pas mit aufgeführt, d.h. der Code *aller* Reader/Writer-Units kann wegen des Einbindens in die Projektdatei gefunden und ausgeführt werden. Entferne mal zur Kontrolle laz_fpspreadsheet aus der Projekt-Uses-Zeile, oder entferne bei fpsallformats das Häkchen bei "use unit" in den Packageeigenschaften von laz_fpspreadsheet.lpk. Dann kommt der Fehler auch ohne visuelle Komponenten.

Ich denke, dass das Package laz_fpspreadsheet per Voreinstellung keine keine Reader/Writer kennen sollte. Daher finde ich es einen Fehler, wenn fpsallformats (und einige andere Units im Uses der Package-Unit augeführt werden). Leider kann ich das nicht ändern, ohne den Code der User zu brechen, die diese "Feature" angewendet haben.

Die Idee war, wiegesagt, sich die gewünschten Reader/Writer in die Uses-Zeile des Projekts (oder einer anderen Unit) zu schreiben, oder gleich fpsallformats aufzuführen - dann geht alles.
wp_xyz
 
Beiträge: 2670
Registriert: 8. Apr 2011, 08:01

Beitragvon af0815 » 17. Jun 2017, 18:12 Re: fpspreadsheet - readfromfile geht nicht mit visual compo

wp_xyz hat geschrieben:Die Idee war, wiegesagt, sich die gewünschten Reader/Writer in die Uses-Zeile des Projekts (oder einer anderen Unit) zu schreiben, oder gleich fpsallformats aufzuführen - dann geht alles.


Dann wäre es, meiner Sicht der Dinge nach besser, das fpsallformats einzubinden, DENN man hat bei der Workbooksource ja die Möglichkeit 'AutoDetectFormats' anzuwählen. Wie soll das dann funktionieren ? Auch wenn ich unter FileFormat etwas eingebe, so sollte das was zur Auswahl steht vorhanden sein.

Oder sehe ich da was falsch ?

Andreas

BTW: Es hat wirklich nur in der uses das fpsallformats gefehlt.

PS:
Code: Alles auswählen
@@ File format of the next spreadsheet file to be loaded by means of the
 Filename property. Not used when AutoDetectFormat is TRUE.
 Note that if FileFormat is sfUser then the format ID must be specified at
 runtime.
 (Source)
 
 
Package
laz_fpspreadsheet_visual


Vielleicht da noch den Hinweis hinein, das dieser Punkt fpsallformats in uses voraussetzt, Ev. auch ein ähnlicher Hinweis im FileFormat. Dann ist auch alles gleich in der Doku und nichts am Source geändert. JA, ich lese diese Hints echt !!

PPS: EIn großes Danke für den Tip
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
af0815
 
Beiträge: 3490
Registriert: 7. Jan 2007, 10:20
Wohnort: Niederösterreich
OS, Lazarus, FPC: FPC 3.2 Lazarus 2.0 per fpcupdeluxe | 
CPU-Target: 32Bit (64Bit)
Nach oben

Beitragvon af0815 » 18. Jun 2017, 07:53 Re: [Erl] fpspreadsheet readfromfile geht nicht mit visual

For the records:
Code: Alles auswählen
frxxxxefxls.pas(53,5) Hint: Unit "fpsallformats" not used in frgxxxxefxls


Der Hint kommt noch, wenn ich das einbinde, weil ich ja die unit fpsallformats nirgends aktiv verwende.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
af0815
 
Beiträge: 3490
Registriert: 7. Jan 2007, 10:20
Wohnort: Niederösterreich
OS, Lazarus, FPC: FPC 3.2 Lazarus 2.0 per fpcupdeluxe | 
CPU-Target: 32Bit (64Bit)
Nach oben

Beitragvon af0815 » 19. Jun 2017, 10:14 Re: [Erl] fpspreadsheet readfromfile geht nicht mit visual

Als Ergänzung: Demos dazu gibt es hier https://github.com/afriess/LazInfos/tree/wip_af/samples
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
af0815
 
Beiträge: 3490
Registriert: 7. Jan 2007, 10:20
Wohnort: Niederösterreich
OS, Lazarus, FPC: FPC 3.2 Lazarus 2.0 per fpcupdeluxe | 
CPU-Target: 32Bit (64Bit)
Nach oben

• Themenende •

Zurück zu Komponenten und Packages



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

porpoises-institution
accuracy-worried