Ich entwickele die XRechnungs-Datenbank beständig weiter. Hin und wieder tauchen dann Nutzer mit Windows-Betriebssystem auf ihrem Rechner auf, bei denen bestimmte Funktionen einfach nicht wollen.
Hier geht es jetzt um das Einlesen von Anhängen.
Was wird benötigt? Windows-Betriebssystem sowie die Erlaubnis, Makros ausführen zu können.
Die Datei
XRechnung_V2408_032.odb (653.7 KB)
herunter laden und von LibreOffice aus öffnen. Es öffnet sich ein Formular. Rechts ist ein Bereich für den Anhang. Da erscheinen 2 Felder mit roter Umrandung. Zuerst die Dateiart aussuchen (*.png, *.jpg usw) und dann über das Bildkontrollfeld eine Datei einlesen. Die Datei sollte zum Testen klein sein, da sie, wenn alles funktioniert, per Makro in eine b64-Datei umgewandelt wird. Anschließend die Speicherung in der Navigationsleiste unter dem Bildkontrollfeld betätigen. Jetzt sollte der Button “Anhang anzeigen” aktiv sein, so dass er ausgelöst werden kann.
Wenn der Anhang anstandslos erscheint: Anhang wieder entfernen (löschen - 2 Nachfragen kommen, beide mit “Ja” beantworten) und die Base-Datei schließen. Die Basedatei in ein anderes Verzeichnis legen, das eventuell mit Sonderzeichen oder Leertasten erstellt wurde. Dort wieder starten und erneut testen.
Ich möchte mich dann mit jemanden per Videokonferenz kurz schließen, um den Fehler untersuchen zu können. Da ich kein Windows hier auf irgendeinem Rechner habe komme ich da einfach nicht weiter.
Entschuldige bitte, dass ich die Datei erst jetzt teste.
Bei mir gab es unter Win11 einen Makro-Absturz beim Anlegen des Archiv-Ordners in Zeile 142. Ursache war wohl ein // im Pfad, den ich durch Löschen des ersten / in "/Archiv/"
eliminieren konnte.
Da scheinen die Systeme unterschiedlich zu reagieren - warum auch immer. Ich bin gerade mit jemand anderem dabei, das zu lösen. Ich mache das Ganze unter Linux und habe das dann auch einmal auf einem Windowsrechner getestet. Da funktionierte das, auch mit relativer Pfadangabe für die Anhänge.
Ich habe jetzt erst registriert: Das war die Version V2408_032. Da war das noch drin. Ist bereits korrigiert in der aktuellen Fassung. Aber auch in der ist noch irgendwo ein speziellen Windowshaken. Die Dateien einzulesen klappt inzwischen problemlos, auch die Anzeige der Dateien. Aber beim Löschen gibt es wohl noch Probleme. Bei der hier jetzt angehängten Version ist eine Messagebox eingebaut, die den Pfad anzeigt, in dem die Datei zum Löschen liegt. Vielleicht passiert hier auch unter manchen Windows-Systemen irgendetwas, was nicht unter Linux vorkommt:
XRechnung_V2408_034.odb (659.9 KB)
Das Problem war/ist ja nicht die relative Pfadangabe, sondern dass der Basispfad auf / endete und mit /Archiv erweitert wurde.
.
An der Stelle wundert mich eher, das es unter Linux klappt. Ich muss mal schauen, wie Du den Ausgangspfad stDir erstellst. Eventuell gibt es da Unterschiede zwischen den Systemen.
Teste besser mit der aktuellen Version. Da ist das raus.
XRechnung_V2408_035.odb (659.6 KB)
Ganz aktuell. Das Speichern und Anzeigen von Anhängen unter Windows gelingt damit. Das Löschen funktioniert leider nicht - warum auch immer. Ich habe das auch schon über den SimpleFileCcess probiert. Die Meldung ist dann so, dass einfach geschrieben wird: Kann die Datei nicht löschen.
Ich habe das jetzt gelöst bekommen. Das Makro zum Löschen von Dateien war an das Event “Vor der Datensatzaktion” gebunden. Da sollte also ein Bild gelöscht werden, das zu genau dem Zeitpunkt noch im Formular angezeigt wurde. Funktionierte unter Linux, nicht aber unter Windows.
Jetzt habe ich die Variablen global gespeichert und das Löschen auf “Nach der Datensatzaktion” gelegt. Das funktioniert unter Windows und Linux.
XRechnung_V2408_035.odb (660.3 KB)