Seite 1 von 2
[gelöst] ReadSourceDirectory aus der Bibliothek Gimmicks geht nicht
Verfasst: Mi 3. Jul 2024, 10:24
von Basilisk
Es findet die FileNameoutofPath-Funktion nicht.

- ReadSourceDirectory-fehler-03-07-2024.png (148.67 KiB) 3510 mal betrachtet
Ich habe die Bibliothek mit GlobalScope.BasicLibraries.LoadLibrary("Gimmicks") geladen. Als ich gestern ein kleines Testprogramm erstellte, um festzustellen, was ReadSourceDirectory eigentlich genau zurückliefert*, ging noch alles problemlos. Erst seit heute tritt der Fehler auf.
*Spoiler: ein zweidimensionales Feld, das rekursiv alle Unterverzeichnisenamen und Dateinamen aus dem Verzeichnis enthält dessen Name in der Variablen Source übergeben wurde und zwar voll qualifiziert in URL-Notation in der ersten Spalte und kurz in der zweiten Spalte
Re: ReadSourceDirectory aus der Bibliothek Gimmicks geht nicht
Verfasst: Mi 3. Jul 2024, 10:33
von karolus
Hallo
Super! Jetzt wissen wir daß du schon Screenshots kannst, wäre aber nicht nötig gewesen, viel freundlicher ist da simples copy&paste des Quelltexts!
Danke!
Re: ReadSourceDirectory aus der Bibliothek Gimmicks geht nicht
Verfasst: Mi 3. Jul 2024, 11:05
von Basilisk
karolus hat geschrieben: ↑Mi 3. Jul 2024, 10:33
... viel freundlicher ist da simples copy&paste des Quelltexts!
Der Quelltext von was? Von ReadSourceDirectory? Ich dachte, der wäre bei jeder Libreofficeinstallation dabei. Das ist auch der Grund, warum ich ihn verwenden will. Ist das nicht so?
Re: ReadSourceDirectory aus der Bibliothek Gimmicks geht nicht
Verfasst: Mi 3. Jul 2024, 11:12
von karolus
Basilisk hat geschrieben: ↑Mi 3. Jul 2024, 11:05
karolus hat geschrieben: ↑Mi 3. Jul 2024, 10:33
... viel freundlicher ist da simples copy&paste des Quelltexts!
Der Quelltext von was? Von ReadSourceDirectory? Ich dachte, der wäre bei jeder Libreofficeinstallation dabei. Das ist auch der Grund, warum ich ihn verwenden will. Ist das nicht so?
Nee… DEINEN Quelltext… oder führst du etwa direkt »ReadSourceDirectory« aus der BasicIDE aus??
Re: ReadSourceDirectory aus der Bibliothek Gimmicks geht nicht
Verfasst: Mi 3. Jul 2024, 13:23
von Basilisk
karolus hat geschrieben: ↑Mi 3. Jul 2024, 11:12
Nee… DEINEN Quelltext… oder führst du etwa direkt »ReadSourceDirectory« aus der BasicIDE aus??
Es ist wie gesagt nur ein Testprogramm und darin tritt kein Fehler auf
Code: Alles auswählen
Sub SuspiciousFiles(Optional vObject as Variant)
Dim vasFiles As Variant
Dim sDir As String
GlobalScope.BasicLibraries.LoadLibrary("Gimmicks")
sDir = "/home/gh2425/bin"
Dim oFP as Object
oFP = CreateUnoService("com.sun.star.ui.dialogs.FilePicker")
vasFiles = ReadSourceDirectory(sDir)
MsgBox CStr(LBound(vasFiles,1))
End Sub
NB: Ich weiß, dass 1 der Defaultwert bei LBound ist. Das steht da, um mich zu erinnern. Der Filepicker tut absichtlich derzeit noch nichts.
Re: ReadSourceDirectory aus der Bibliothek Gimmicks geht nicht
Verfasst: Mi 3. Jul 2024, 15:18
von karolus
Hallo
NB: Ich weiß, dass 1 der Defaultwert bei LBound ist. Das steht da, um mich zu erinnern.
Die msgbox behauptet bei mir 0 wäre der Defaultwert, und nicht 1, ansonsten hilfts ja jetzt niemanden wenn du Code zeigst der funktioniert!
wenn ich jetzt mal wild raten darf… …?
GESTERN hast du einen Beobachter (F7) auf die variable »vasfiles« gesetzt und bist im Einzelschrittmodus durch deinen Code durchgehoppelt??
Re: ReadSourceDirectory aus der Bibliothek Gimmicks geht nicht
Verfasst: Mi 3. Jul 2024, 16:19
von Basilisk
karolus hat geschrieben: ↑Mi 3. Jul 2024, 15:18
NB: Ich weiß, dass 1 der Defaultwert bei LBound ist. Das steht da, um mich zu erinnern.
Die msgbox behauptet bei mir 0 wäre der Defaultwert, und nicht 1, ...
Die MsgBox behauptet etwas über LBound? Ich meine das hier
Wird kein Wert angegeben, so wird standardmäßig die erste Dimension betrachtet.
karolus hat geschrieben: ↑Mi 3. Jul 2024, 15:18
ansonsten hilfts ja jetzt niemanden wenn du Code zeigst der funktioniert!
Das war mein ursprünglicher Gedanke. Mein Code funktioniert, also brauche ich ihn nicht zu zeigen.
karolus hat geschrieben: ↑Mi 3. Jul 2024, 15:18
wenn ich jetzt mal wild raten darf… …?
Mir bliebe auch nichts anders.
karolus hat geschrieben: ↑Mi 3. Jul 2024, 15:18
GESTERN hast du einen Beobachter (F7) auf die variable »vasfiles« gesetzt und bist im Einzelschrittmodus durch deinen Code durchgehoppelt??
Leider nein. Gestern war mein Code auch noch komplexer, weil ich wie gesagt rausfinden wollte, wie der Rückgabewert zusammengesetzt ist.
Re: ReadSourceDirectory aus der Bibliothek Gimmicks geht nicht
Verfasst: Mi 3. Jul 2024, 17:18
von Basilisk
Ich habe jetzt an ganz anderen Dingen rumgebastelt und jetzt funktioniert es
Auch das
Code: Alles auswählen
Sub SuspiciousFiles(Optional vObject as Variant)
Dim vasFiles As Variant
Dim sDir As String
GlobalScope.BasicLibraries.LoadLibrary("Gimmicks")
sDir = "/home/gh2425/bin"
Dim oFP as Object
oFP = CreateUnoService("com.sun.star.ui.dialogs.FilePicker")
vasFiles = ReadSourceDirectory(sDir)
Dim lLBound As Long, lUBound As Long, lCount As Long
lLBound = LBound(vasFiles, 1)
lUBound = UBound(vasFiles, 1)
For lCount = lLBound To IIf (lUBound < 3, lUBound, 3)
MsgBox vasFiles(lCount, 1)
Next lCount
End Sub
Re: ReadSourceDirectory aus der Bibliothek Gimmicks geht nicht
Verfasst: Mi 3. Jul 2024, 17:21
von Basilisk
Basilisk hat geschrieben: ↑Mi 3. Jul 2024, 17:18
Ich habe jetzt an ganz anderen Dingen rumgebastelt und jetzt funktioniert es
Auch das
Code: Alles auswählen
Sub SuspiciousFiles(Optional vObject as Variant)
Dim vasFiles As Variant
Dim sDir As String
GlobalScope.BasicLibraries.LoadLibrary("Gimmicks")
sDir = "/home/gh2425/bin"
Dim oFP as Object
oFP = CreateUnoService("com.sun.star.ui.dialogs.FilePicker")
vasFiles = ReadSourceDirectory(sDir)
Dim lLBound As Long, lUBound As Long, lCount As Long
lLBound = LBound(vasFiles, 1)
lUBound = UBound(vasFiles, 1)
For lCount = lLBound To IIf (lUBound < 3, lUBound, 3)
MsgBox vasFiles(lCount, 1)
Next lCount
End Sub
Ich habe LibreOffice geschlossen, die Datei wieder geöffnet und jetzt tritt wieder der Fehler auf.
Jetzt habe ich die Zeile
eingefügt und die Reparatur übersteht auch einen Neustart. Die Funktion war wohl nicht für externe aufrufe gedacht.
Danke.
Re: [gelöst] ReadSourceDirectory aus der Bibliothek Gimmicks geht nicht
Verfasst: Mi 3. Jul 2024, 17:50
von karolus
Hatte ich schon den entsprechenden Code in python gezeigt?
Code: Alles auswählen
from pathlib import Path
basedir = Path.home() / "Documents"
list( basedir.glob("**/*"))