Eingepackte Grafik im Dialog bei Verschlüsselte Bibliothek=OK, bei Entschlüsselt=Nicht OK?

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

Moderator: Moderatoren

Benutzeravatar
balu
********
Beiträge: 3812
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Eingepackte Grafik im Dialog bei Verschlüsselte Bibliothek=OK, bei Entschlüsselt=Nicht OK?

Beitrag von balu »

Hallo!

Auch wenn das vielleicht ehern eine Frage für unseren Moderator Stephan wäre, da das verwendete Makro von ihm stand, so stelle ich dennoch mal mein Problem in die allgemeine Runde. Denn vielleicht kann ja auch jemand anderer was dazu sagen.

Stephan hatte ja mal an Hand einer Beispieldatei gezeigt wie man auf "Eingepackte" Dateien zugreifen kann. Dateianhang in odt Datei
Ich hatte mir den Makro-Code dahingehend angepasst, dass ich in Dialogen z.B. auf Buttons Grafiken setzen konnte. Das funktioniert auch alles Wunderbar. Da gibts keine Probleme.

Doch nun ist mir folgendes aufgefallen:
Wenn ich in eine neue Bibliothek den funktionierenden Code eingebe und diese Bibliothek per Kennwort verschlüssel, dann funktioniert auch alles, sprich die Grafik wird auf dem Button angezeigt.
Sobald ich aber die Bibliothek per Kennwort entschlüssele, dann wird die Grafik nicht mehr angezeigt.

Und das ist mein Problem.
Warum bei verschlüsselter Bibliothek Grafik ja, aber bei entschlüsselter Bibliothek Grafik nein?

Die besagte Bibliothek heißt: SIESTEM
Und, liegt das am Code von Stephan -{siehe Modul Initialisieren}-, oder ist das ein allgemeiner Bug/Fehler/Feature von StarBasic?
Oder habe ich mir da irgendwie ein Eigentor geschossen?

Ich habe mal eine ganz simple Beispieldatei erstellt, mit der man mein Problem nachstellen kann. Das Kennwort für die Bibliothek ist einfach eine 1.

Testumgebung:
WinXP
OOo 3.2.1
AOO 4.1.1
LO 4.2.1.1

Freue mich schon auf eure Antworten :)



Gruß
balu
Dateianhänge
TEST_für_Dialog_mit_Grafiksymbol_0.3_mit_Bibliothek-Kennwort_c.ods
(15.7 KiB) 52-mal heruntergeladen
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Eingepackte Grafik im Dialog bei Verschlüsselte Bibliothek=OK, bei Entschlüsselt=Nicht OK?

Beitrag von Stephan »

Dummerweise funktioniert Deine Beispieldatei bei mir auf Anhieb (OOo 3.3.0 und AOO 4.1.1, Windows 7)

Meine Vermutung wäre aber das das Autostartmakro nicht in einer verschlüsselten Bibliothek liegen sollte.
workaround sollte sein in eine unverschlüsstete Bibliothek (z.B. "Standard") ein Makro zu legen das das initialisieren-Makro in der verschlüsselten Bibliothek aufruft und vorher evtl. noch die Bibliothek "SIESTEM" mit LoadLibrary lädt (für Module und Dialoge).


Gruß
Stephan
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Eingepackte Grafik im Dialog bei Verschlüsselte Bibliothek=OK, bei Entschlüsselt=Nicht OK?

Beitrag von Stephan »

meine vorstehende Antwort ist Quatsch (ich lasse sie mal stehen falls sie gerade schon jemand gelesen hätte und darauf antworten will)

Der Fehler kommt dadurch zustande das die Variable "tempInit" bei entschlüsselter Bibliothek ohne Inhalt ist. Mir ist leider unklar warum.


Lösung wäre "Function ermittle_pfad()" aus dem Makro "Sub Main" heraus aufzurufen, es bleibt aber die Frage warum in der ursprünglichen Variante "tempInit" leer ist und ich nehme an das war auch der Kern Deiner Frage.


Gruß
Stephan
Benutzeravatar
balu
********
Beiträge: 3812
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: Eingepackte Grafik im Dialog bei Verschlüsselte Bibliothek=OK, bei Entschlüsselt=Nicht OK?

Beitrag von balu »

Hallo Stephan,
Dummerweise funktioniert Deine Beispieldatei bei mir auf Anhieb
Das ist ja bei mir auch der Fall. Datei öffnen und Bibliothek verschlüsselt Grafik wird angezeigt. Anschließend Bibliothek entschlüsseln, und Grafik wird nicht mehr angezeigt.

Meine Vermutung wäre aber das das Autostartmakro nicht in einer verschlüsselten Bibliothek liegen sollte.
Auch wenn Du eine Vermutung anstellst, so werde ich das mal testen. Die Wahrscheinlichkeit das durch das Gebundene Dokument-Ereignis (Dokument öffnen) etwas durcheinander gerät, ist wohl möglich.

workaround sollte sein in eine unverschlüsstete Bibliothek (z.B. "Standard") ein Makro zu legen das das initialisieren-Makro in der verschlüsselten Bibliothek aufruft und vorher evtl. noch die Bibliothek "SIESTEM" mit LoadLibrary lädt (für Module und Dialoge).
Werde ich machen.

Ich sage bis hier her schon mal Danke schön für deine rasche Antwort.
Melde mich wieder wenn ich die tests durchgeführt habe.


Ich habs grad noch gesehen, das du noch eine weitere Antwort gegeben hast. Bin nun mal halt nicht mehr der schnellste schreiberling.
Ob die erste Quatsch ist, ist erstmal egal. Ich möchte und werde sie dennoch mal testen. Mal schaun was sich dabei ergibt.
Der Fehler kommt dadurch zustande das die Variable "tempInit" bei entschlüsselter Bibliothek ohne Inhalt ist. Mir ist leider unklar warum.
Na da habe ich doch was zu erforschen. Auf die Variable hätte ich momentan nicht so schnell getippt, da ich vor lauter Wald die Bäume nicht mehr sah.



Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
Benutzeravatar
balu
********
Beiträge: 3812
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: Eingepackte Grafik im Dialog bei Verschlüsselte Bibliothek=OK, bei Entschlüsselt=Nicht OK?

Beitrag von balu »

Hallo Stephan,

hatte mal versucht die Variablendeklaration zu ändern. Von Global auf Public, aber das geht ja gar nicht.

Lösung wäre "Function ermittle_pfad()" aus dem Makro "Sub Main" heraus aufzurufen
Nach diversen tests habe ich das jetzt auch so rum gemacht.

Code: Alles auswählen

Sub Main
	tempInit = ermittle_pfad
[...]
Und siehe da, es funktioniert. Dieser Workaround ist schnell eingegeben, und löst ein Problem.

Jedoch, genauso wie Du verstehe ich nicht warum durch das entschlüsseln einer Bibliothek eine Variable ihren Inhalt verlieren kann. Und da muss ich mich fragen, ob das nicht vielleicht doch ein Bug von StarBasic bzw von AOO/LO ist?

Danke für deine Hilfe :)



Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
Antworten