BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice Forum zu erhalten!

❤️ DANKE >><< DANKE ❤️

> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

[gelöst] Wie vermeide ich den Ueberlauffehler?

Alles zur Programmierung im LibreOffice.
wega
Beiträge: 121
Registriert: Mi 16. Jul 2014, 19:15

Re: Wie vermeide ich den Ueberlauffehler?

Beitrag von wega » So 14. Jan 2018, 20:41

Hallo musikai,

Danke für Deine Mühen.
Die Wortschöpfung "Ergebnix" war eine reine Zufälligkeit, paßt
aber so richtig zum Problem.

Also, der "Hauptordner" besteht ja aus 2 Unterordnern auf gleicher Ebene:
Ordner01 und Ordner02 mit jeweils einer Textdatei.

Belasse ich den Hauptordner so, dann scheint das Makro in eine Endlosschleife
zu gehen. Jedenfalls hört es nicht auf zu arbeiten und bringt auch kein Ergebnis.
Makro-arbeitet.jpg
Makro-arbeitet.jpg (17.84 KiB) 3330 mal betrachtet
Entferne ich aber einen Ordner aus dem Verzeichnis "Hauptordner" dann bekomme
ich die gewünschte Antwort:
Ergebnis-01.jpg
Ergebnis-01.jpg (30.79 KiB) 3330 mal betrachtet
Und wie sieht es bei Dir aus?

Gruß
Werner

musikai
Beiträge: 262
Registriert: Do 14. Mai 2015, 17:53

Re: Wie vermeide ich den Ueberlauffehler?

Beitrag von musikai » So 14. Jan 2018, 22:14

Hallo wega,

das ist etwas merkwürdig. Bei mir geht's mit LO4.4.7.2 wie auch LO5.4.4 unter Win7. Kannst Du mal in der Funktion die Zeile auskommentieren:

Code: Alles auswählen

on error goto skip
und schauen, ob dann eventuell ein Fehler angezeigt wird?
Unbenannt.PNG
Unbenannt.PNG (9.94 KiB) 3325 mal betrachtet
Win7 Pro, Sibelius 7.1.3, Lubuntu 15.10, LibO 4.4.7, OO 4.1.3
Free Project: LibreOffice Songbook Architect (LOSA)
http://struckkai.blogspot.de/2015/04/li ... itect.html

balu
Beiträge: 370
Registriert: Mi 1. Jun 2011, 16:21

Re: Wie vermeide ich den Ueberlauffehler?

Beitrag von balu » So 14. Jan 2018, 22:36

Hallo ihr beiden,
musikai hat geschrieben: Balu's Lösung kriegt 100 Punkte für Kreativität.
Danke für die Blumen. :) Das meine ich ernst.

Okay, ReDim hatte ich wohl auch aufm Schirm gehabt, aber da ich ja kein "Profi" in Sachen Basic bin, haperts bei mir an manchen Stellen. Und deshalb hatte ich halt mal eine andere Methode ausprobiert. Ist aber alles nicht so tragisch.

So, und nun zum aktuellen Problem.

Werner! Wenn der letzte vorschlag von musikai nicht hilft, dann wird es langsam aber sicher Zeit, das Du deine Datei hier anhängst. Denn auf Grund deines letzten Screenshots sehe ich das Du mit Dialogen arbeitest. Und grad bei Dialogen gibt es zahlreiche zusätzliche Stolperfallen, die einem das Leben vermiiiiiiesen können, und das an Stellen wo man nicht mit rechnet. Frag mich mal woher ich das wohl weis. 8-)

Ach so ja! Der letzte überarbeitete Code von musikai, also nicht der jetzige Würkaround, funktioniert hier bei mir unter OO.o 3.2.1 und LO 5.1.5.2 Problemlos.



Gruß
balu

wega
Beiträge: 121
Registriert: Mi 16. Jul 2014, 19:15

Re: Wie vermeide ich den Ueberlauffehler?

Beitrag von wega » Mo 15. Jan 2018, 09:22

Hallo balu,

nein, mit Dialogen arbeite ich in diesem Fall nicht.
Es dreht sich wirklich nur um die Subroutine imt anhängender
Funktion.

Ich habe mir ein Testverzeichnis erstellt: ->Hauptordner + Textdatei
In diesem Hauptordner befinden sich zwei Unterordner: Ordner01 + Textdatei
und Ordner02 + Textdatei.

Startet man jetzt die Subroutine, dann wählt man das Laufwerk aus: z.B. C:\...
dann den Hauptordner.

Wenn alles richtig läuft sollte der Hauptordner + Textdatei, der Ordner01 + Textdatei
und der Ordner02 + Textdatei in einer CALC-Tabelle ausgewiesen werden.

Sind beide Unterordner im Hauptordner vorhanden, dann scheint die Subroutine in eine
Dauerschleife zu geraten.
Wenn ich einen Ordner aus dem Hauptordner entferne, dann bekomme ich das Ergebnis:

Hauptordner + Textdatei
und Unterordner + Textdatei in der CALC-Tabelle ausgewiesen.

Ich lege nochmal den gezipten Ordner
Hauptordner.7z
(268 Bytes) 184-mal heruntergeladen
bei und das Ergebnis mit einem Unterordner
Ergebnis-01.jpg
Ergebnis-01.jpg (30.79 KiB) 3318 mal betrachtet
hallo musikai,
wenn ich "on error goto skip" auskblende, dann geht die Subroutine ebenfalls in eine
Dauerschleife.

Frage an Euch beiden:

Kann es an LibreOffice Version: 5.4.4.2 liegen?
Denn unter Windows 7 arbeiten eure Versionen doch einwandfrei.
Ich meine auch, dass ich bisher mit anderen LibreOffice Versionen auch keine
Probleme hatte.

Mit Gruß
Werner

musikai
Beiträge: 262
Registriert: Do 14. Mai 2015, 17:53

Re: Wie vermeide ich den Ueberlauffehler?

Beitrag von musikai » Mo 15. Jan 2018, 11:30

Du benutzst 5.4.4.2 unter windows 10?

edit: Auch unter Windows10 64bit geht's hier mit LO5.4.4.2 (64bit) korrekt.
Unbenannt.PNG
Unbenannt.PNG (26.47 KiB) 3304 mal betrachtet
Du könntest bei Dir in der Funktion die Zwischen-Ergebnisse anzeigen lassen z.B.

Code: Alles auswählen

msgbox sFolderUrl
Win7 Pro, Sibelius 7.1.3, Lubuntu 15.10, LibO 4.4.7, OO 4.1.3
Free Project: LibreOffice Songbook Architect (LOSA)
http://struckkai.blogspot.de/2015/04/li ... itect.html

wega
Beiträge: 121
Registriert: Mi 16. Jul 2014, 19:15

Re: Wie vermeide ich den Ueberlauffehler?

Beitrag von wega » Mo 15. Jan 2018, 14:55

Hallo musikai,

ja, genau so wie von Dir dargestellt soll das Ergebnis
in Calc aussehen.
Wenn ich Windows 10 geschrieben habe, dann habe ich mich
vertan. Ich fahre auf Windows 7, 32 Bit.

Ich habe "msgbox sFolderUrl" eingefügt und bekomme alle
Ordner angezeigt: -> Hauptordner, Ordner01 und Ordner02.
Und bei der Anzeige
Url-Meldung.jpg
Url-Meldung.jpg (15.04 KiB) 3298 mal betrachtet
bleibt die Routine hängen.
Ich kann so oft ich will den OK-Button betätigen wie ich will,
die Routine hängt in einer Schleife.

Ich kann mich spätestens in 3-4 Tagen wieder melden, da ich jetzt
wieder zu meiner Baustelle (ohne Internet) fahre.

Mit Gruß und Danke für die bisherige Begleitung
Werner

musikai
Beiträge: 262
Registriert: Do 14. Mai 2015, 17:53

Re: Wie vermeide ich den Ueberlauffehler?

Beitrag von musikai » Di 16. Jan 2018, 13:34

Vielleicht spielt irgendwas in deinem modul verrückt. Kreier mal ein neues und kopier den code von hier direkt rein.
Hab ganz selten schon erlebt, dass unsichtbare rückstände möglich sein können.
Ansonsten ist es für uns schwer, einen fehler zu beseitigen, der hier nicht auftritt.
Als allerletzte lösung gäbe es noch die möglichkeit, die komplette funktion auf dem "Dir" befehl aufbauend neu zu schreiben.
Wünsche gute offline-zeit.mach ich glaub ich auch.
Win7 Pro, Sibelius 7.1.3, Lubuntu 15.10, LibO 4.4.7, OO 4.1.3
Free Project: LibreOffice Songbook Architect (LOSA)
http://struckkai.blogspot.de/2015/04/li ... itect.html

wega
Beiträge: 121
Registriert: Mi 16. Jul 2014, 19:15

Re: Wie vermeide ich den Ueberlauffehler?

Beitrag von wega » Mi 17. Jan 2018, 21:35

Hallo musikai, hallo balu,

ich bedanke mich bei euch beiden für eure Geduld und Mühen.

Windows 7 jedoch mit LibreOffice 5.3.4.2 (x64) getestet.
Und es lief wunderbar, genau wie erwartet und von euch beschrieben.

Ich werde den Rat befolgen, eventuell eine andere Version von Libreoffice
aufspielen und das Makro neu aufsetzen.

Auf jedenfall habe ich wieder einiges von euch beiden gelernt.

Mit freundlichem Gruß
Werner

An alle, die das LibreOffice-Forum nutzen:


Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
Einfach per Kreditkarte oder PayPal.
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.

❤️ Vielen lieben Dank für Ihre Unterstützung ❤️

Antworten