Probleme mit "BasicLibraries.verifyLibraryPassword"

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

erikafuchs
******
Beiträge: 690
Registriert: Di, 13.02.2007 17:38
Wohnort: Büttelborn

Probleme mit "BasicLibraries.verifyLibraryPassword"

Beitrag von erikafuchs »

Ich habe in Post viewtopic.php?f=18&t=75250 schon von meinem Problem mit dem Löschen von Modulen aus einer, mit Passwort geschützten, Makrobibliothek berichtet. Die Module werden gelöscht, ich komme aber nicht mehr an den Code. Es wird ein Passwort erwartet, dieses ist aber nicht mehr meines!
Ich habe mich jetzt also nochmals mit dem Befehl zum Entsperren der Biblithek beschäftigt, aber irgendwas habe ich wieder nicht verstanden:
Ich habe eine Datei mit der Makrobibliothek "Library1", die ich mit dem Passwort "1234" geschützt habe.
Ich habe als Makro nur die Zeile

Code: Alles auswählen

Sub Main
	ThisComponent.BasicLibraries.verifyLibraryPassword("Library1","1234")
End Sub
Wenn ich die Bibliothek öffne und dort das Makro ausführe, bekomme ich die Fehlermeldung "IllegalArgumentException", ich vermute, das liegt daran, dass nach dem Öffnen die Bibliothek ja nicht mehr geschützt ist. Wenn ich das Makro nach Öffnen der Datei mittels einer Schaltfläche ausführe, stürzt die Datei ab.
Ich habe nur einen Kollegen auf einer französischen Seite gefunden, der möglicherweise ein ähnliches Problem hat
(https://forum.openoffice.org/fr/forum/v ... p?p=272830). Leider verstehe ich die dort angegebene Lösung nicht.
Dateianhänge
Passwort.ods
(11.48 KiB) 81-mal heruntergeladen
Hiker
******
Beiträge: 590
Registriert: Mo, 08.09.2014 21:34
Wohnort: Berlin

Re: Probleme mit "BasicLibraries.verifyLibraryPassword"

Beitrag von Hiker »

Via google fand ich
https://bugs.documentfoundation.org/sho ... ?id=135799

Da Du nicht angegeben hast mit welcher Version Du arbeitest musst Du selbst lesen...

Mfg, Jörn
Libre Office 6.3.1 (Win 10 Pro) / Libre Office 6.0.7 (Win8.1 Pro, Win 7 Pro) / AOO (Win 7)
craig22
****
Beiträge: 135
Registriert: Mi, 19.08.2020 13:47

Re: Probleme mit "BasicLibraries.verifyLibraryPassword"

Beitrag von craig22 »

Hallo Pit,

nur ein Hinweis:
In Deiner Musterdatei befindet sich ein Schreibfehler:

falsch:
verifyLibraryPassword("Library",

richtig:
verifyLibraryPassword("Library1",
Gruß

Craig
_____________________________________________________
WIN 10 Pro 64-Bit • LO 7.1.5.2 (x64) • AOO 4.1.8
erikafuchs
******
Beiträge: 690
Registriert: Di, 13.02.2007 17:38
Wohnort: Büttelborn

Re: Probleme mit "BasicLibraries.verifyLibraryPassword"

Beitrag von erikafuchs »

Hallo @craig22,
ok, das war ein Übertragungsfehler. Auch mit Libray1 gibt es den gleichen Effekt.
@Hiker,
Danke für den Hinweis, den hatte ich auch schon gefunden, aber einerseits hatte ich Probleme das Fachenglisch zu verstehen (wie macht ihr das? Ich habe doch einige Jahre Englisch gelernt und auch mehrere längere Aufenthalte in englischsprachigen Ländern, habe aber hier eindeutig Probleme beim Verstehen). Ich verstehe das Posting so, dass es prinzipielle Problem mit dem Starten passworgeschützter Makros gibt (wegen: "This is caused by a fixed-type array data field in a custom type in the protected library"?). Meine Makros laufen ja ansonsten, ich habe eigentlich nur Probleme wenn ich Module per Makro lösche und dafür jetzt diesen nebenkriegsschauplatz geöffet. (Übrigens musste ich jetzt feststellen, dass nach meinen Versuchen Ereignisse, die ich mit Tabellenseiten verknüpft habe, verschwunden sind - Zufall?).
Ich arbeite normalerweise mit OO (meistens 4.1.3) und meine Anwender vermutlich auch. Ich habe das verlinkte Posting so verstanden, dass der Bug in LO Version 7.02 nicht mehr vorkommen sollte. Ich hatte noch Version 5 und habe jetzt auf 7.1 ugedatet. Auch da stürzt mein Probedatei ab. Es ist jetzt sogar so, dass LO seither spinnt. Ich erhalte eine aufblinkenden SLO Startbildschirm, den ich nur mit einem Kaltstart loswerde (das hatte ich schonjahrelang icht mehr) Vielleicht sollte ich mir ein anderes Hobby suchen.
So jetzt muss ich meinen Computer wieder neu starten um das Blinken wieder loszuwerden.
craig22
****
Beiträge: 135
Registriert: Mi, 19.08.2020 13:47

Re: Probleme mit "BasicLibraries.verifyLibraryPassword"

Beitrag von craig22 »

Hallo,

Google-Übersetzung der AOO-API zu verifyLibraryPassword
https://translate.google.de/translate?h ... ch&pto=aue

Daraus geht hervor das die Exceptions korrekt sind, ein Absturz sollte allerdings nicht passieren.

Meiner Meinung nach benötigst Du diverse Errorhandler, um die Exception abzufangen.
Gruß

Craig
_____________________________________________________
WIN 10 Pro 64-Bit • LO 7.1.5.2 (x64) • AOO 4.1.8
Hiker
******
Beiträge: 590
Registriert: Mo, 08.09.2014 21:34
Wohnort: Berlin

Re: Probleme mit "BasicLibraries.verifyLibraryPassword"

Beitrag von Hiker »

Hallo,

ich habe mir jetzt mal die französische Quelle angesehen. Es geht im wesentlichen wohl darum, dass man dass Passwort nicht mehrfach verifizieren kann/soll, daher arbeitet der am Schluss gepostete Code mit Abfragen:
  • Erst klären, ob das modul geschützt ist.
  • Dann fragen, ob das Passwort schon geprüft wurde
  • Nur wenn es nicht geprüft wurde verifyPasswort aufrufen...
Mfg, Jörn
Libre Office 6.3.1 (Win 10 Pro) / Libre Office 6.0.7 (Win8.1 Pro, Win 7 Pro) / AOO (Win 7)
Hiker
******
Beiträge: 590
Registriert: Mo, 08.09.2014 21:34
Wohnort: Berlin

Re: Probleme mit "BasicLibraries.verifyLibraryPassword"

Beitrag von Hiker »

"This is caused by a fixed-type array data field in a custom type in the protected library"?).
Automatisch übersetzt
Dies wird durch ein Array-Datenfeld mit festem Typ in einem benutzerdefinierten Typ in der geschützten Bibliothek verursacht. "
Da der Code von Kaganski direkt darunter steht, finde ich die Übersetzung passend:
Es wurde ein ARRAY OF INTEGER als TYPE registriert und damit gab es ein Problem. Mehr steht da nicht.

Warum das zu Problemen geführt hat erschließt sich mir auch nicht daraus, aber das ist ein andres Problem.

Mfg, Jörn
Libre Office 6.3.1 (Win 10 Pro) / Libre Office 6.0.7 (Win8.1 Pro, Win 7 Pro) / AOO (Win 7)
erikafuchs
******
Beiträge: 690
Registriert: Di, 13.02.2007 17:38
Wohnort: Büttelborn

Re: Probleme mit "BasicLibraries.verifyLibraryPassword"

Beitrag von erikafuchs »

Ach, ihr seid so lieb zu mir! Vielen Dank für die Hilfen!
Allerdings bin ich noch nicht viel schlauer. Eigentlic wollte ich ja nur per Makro Module aus meiner passwortgeschützten Bibliothek löschen und bin einfach mal davon ausgegangen, dass ich dazu vorher den Passwortschutz aufheben muss - muss man aber gar nicht. Dummerweise kann man nach dem Löschen der Module die Bibliothek nicht mehr öffnen. Sie hat dann zwar ein Passwort, aber nicht das alte! Das ist mein eigentliches Problem.

Diese Beiträge in den Links helfen mir nicht wirklich weiter, scheinen für mich aber eh ohne Belang zu sein. ich wüsste allerdings jetzt trotzdem gerne, warum die Datei abstürzt, wenn ich den Befehl "ThisComponent.BasicLibraries.verifyLibraryPassword("Library1","1234")" eingebe. Und wozu das überhaupt gut ist, zu welchem Behufe sollte man einen Passwortschutz aufheben, wenn das Passwort noch nicht mal gegen das Löschen von Modulen schützt?
@Hiker: Dass der Aufruf des Befehls einen Fehler meldet, wenn ich die Biblithek eh schon geöffnet hat war mir auch schon klar geworden. Wenn ich das Makro aber ausführe ohne die Bibliothek zu öffnen (dann sollte m.E. der Passwortschutz ja vorhanden sein), stürzt die Datei ab, wird ohne Fehlermeldung geschlossen.
@craig22, der Link ist schon hilfreich, Danke. Allerdings bräuchte ich nicht nur eine Übersetzung von englisch nach deutsch, sondern auch noch von Computersprache nach Dummy. Es ist mir ja peinlich, aber was ist gemeint mit "Wenn das Bibliothekskennwort bereits überprüft wurde, wird eine com :: sun :: star :: lang :: IllegalArgumentException ausgelöst" - ich gehe mal davon aus, dass damit eine Fehlermeldung "IllegalArgumentException" gemeint ist - die bekomme ich ja auch folgerichtig, wenn ich den Befehl bei geöffneter Biblithek ausführe.

Was meint ihr: Soll ich dieses "BasicLibraries.verifyLibraryPassword" Problem einfach vergessen? Ich will ja eigentlich nur Module löschen und trotzdem anschließende noch mit meinem alten Passwort in meine Bibliothek kommen.
erikafuchs
******
Beiträge: 690
Registriert: Di, 13.02.2007 17:38
Wohnort: Büttelborn

Re: Probleme mit "BasicLibraries.verifyLibraryPassword"

Beitrag von erikafuchs »

Vielleicht interessiert es ja noch jemanden ... oder es hat sogar jemand eine Erklärung dafür:
Ich habe oben geschrieben, dass ich, wenn ich in meiner passwortgeschützten Bibliothek ein Modul lösche, ich die Bibliothek hinterher nicht mehr öffnen kann, weil das Passwort nicht mehr stimmt. ... Es liegt an meinem Passwort, da ist ein y drinn und das verursacht das Problem. Das glaubt ihr nicht? Unten ist eine Beispieldatei. Sie enthält zwei Module "Module1" und "Module2". Durch Klick auf "Modul löschen", wird das "Modul2" gelöscht und der Befehl darin kann nicht mehr ausgeführt werden, es erfolgt daher eine Fehlermeldung. Ihr könnt das ansehen, das Passwort der Bibliothek heißt "y". Wenn ihr jetzt die Datei speichert, entweder unter einem anderen Namen oder durch Klick auf "speichern unter". Wird nach einem erneuten Öffnen das Passwort nicht mehr anerkannt. Es heißt auch nicht "z".
Zumindest bei mir ist das so, vielleicht spinne ich oder mein Computer.

Nachtrag: Es liegt doch nicht am "y". Es ist egal, welches Passwort man nimmt, nach dem Speichern wird es nicht mehr akzeptiert.
Dateianhänge
Modul löschen.ods
(12.34 KiB) 84-mal heruntergeladen
Antworten