OOo Basic verliert Makros

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

Moderator: Moderatoren

Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: OOo Basic verliert Makros

Beitrag von komma4 »

Habe schon mehrfach davon gelesen - ist bei mir aber noch nicht aufgetreten (bin auch noch auf Version 3.0.1).


Du speicherst schon in einem ODF-Format?
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: OOo Basic verliert Makros

Beitrag von Stephan »

Ich glaube mich zu erinnern das Nutzer geäußert haben das dieses Problem zu vermeiden ist indem Du nach Änderungen bei Makros explizit mit der Speichern-Schaltfläche in der Basic-IDE speicherst, also nicht die Makroänderungen allein oder zusammen m it Dokumentänderungen mit deer 'normalen' Speichern-Schaltfläche in der Dokumentansicht speichern.



Gruß
Stephan
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: OOo Basic verliert Makros

Beitrag von komma4 »

Lassalle hat geschrieben:Ja, das Dateiformat ist ods. Speichert OO denn Markos überhaupt im xls Format?
Deshalb die Nachfrage :mrgreen:
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: OOo Basic verliert Makros

Beitrag von Stephan »

Speichert OO denn Markos überhaupt im xls Format?
Nein. Bei Dokumentänderungen werden vorhandene Makros zwar beibehalten, Änderungen an Makros selbst lassen sich bei xls-Format nicht speichern.
Also Basic IDE und Calc Fenster.
Und wie macht man das? Bei Makros die in Dateien gespeichert sind ist die Speichermöglichkeit nur aktiv solange irgendwo auf Speichern gedrückt wird, wird also in der Basic-IDE auf Speichern geklickt ist Speichern danach in der Dokumentansicht inaktiv und wird in der Dokumentansicht gespeichert ist das Speichern danach in der Basic-IDE inaktiv.


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

Re: OOo Basic verliert Makros

Beitrag von Stephan »

Also nicht wundern wenn meine Vermutungen oftmals
analog gezogen worden sind.
Man kann solch einfache Dinge schnell ausprobieren und muß dann nichts vermuten.

Und das ist kein Angriff geghen Dich, sonden einfach nur der Wunsch nach mehr Sorgfalt, denn weder die anderen Leser noch ich sehen alles und spätere Leser probieren dann Vermutungen aus und wundern sich das es nicht klappt.



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

Re: OOo Basic verliert Makros

Beitrag von Stephan »

Bei Base ist die Speichern-Schaltfläche nach dem
Speichern in der Basic IDE aktiv!
Ja, aber das ist doch sachinhaltlich etwas völlig Anderes, weshalb auch das Verhalten anders ist.
Eine Base-Datei ist ein Container für weitere Dateien (z.B. Writerdateien die Formulare sind) die Makros enthalten können.
Eine Calc-Datei ist hingegen nur eine Datei ohne zusätzlichen Container drumrum.
denn eigentlich
und das ist wirklich so, läuft OpenOffice und
OpenSource eigentlich ohne Fehler die nicht
auf Benutzungsfehler zurückzuführen sind oder
auf einen unstable Build beruhen.
Habe ich echt keine Ahnung was das bedeuten soll, OpenOffice.org enthält jedenfalls nachweislich ganz schön viele Fehler, ist auch kein Geheimnis sondern öffentlich nachschlagbar:
http://www.openoffice.org/issues/query.cgi

Und dort sind nur bekannte FEhler registriert, es gibt sicherlich noch mehr.



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

Re: OOo Basic verliert Makros

Beitrag von Stephan »

Nein, es ist nichts anderes. Das Base ein Container ist, ist
Abstrakt. Wenn Deine Interpretation angewendet werden
würde, dann dürfte es in Base garkeinen Speicher-Button
geben, da es ja nur ein Container ist und die Elemente
eigene Editoren haben wo dann jew. gespeichert werden
muss.


Bitte bringe doch nicht alles durcheinander. Wir versuchen hier Antworten zu geben und ich versuche nicht REcht zu haben, nur Du kannst nicht ständig beleidigt reagieren wenn Du etwas nicht, oder nicht richtig weißt oder verstehst und ich Dich darauf hinweise.

jede ODF ist im Prinzip eine Zip-Datei, die man hier auch als Container bezeichnet, die verschiedene XML-DAteien und einige andere DAteien enthält.
Der Aufbau einer typischen ods-Datei ist beispielsweise so:
datei1.gif
datei1.gif (2.36 KiB) 934 mal betrachtet

Der Aufbau einer typischen odb-DAtei hingegen ist so:
datei2.gif
datei2.gif (2.11 KiB) 934 mal betrachtet

wobei der Ordner "forms" formulare enthält, welche im Eigentlichen Writer-Dateien sind:
datei3.gif
datei3.gif (7.9 KiB) 935 mal betrachtet

diese Formulare/Writerdateien können nun ihrerseits Makros enthalten und können auch (das hat nichts mit den Makros zu tun) nachträglicvh separat als odt gespeichert werden, wobei dann aus der verkürzten Dateistruktur die vollständige dem ODF-Standard entsprechende Dateistruktur wird.

odb-Dateien ihrerseits entsprechen im Übrigen nicht dem geltenden ODF-Standard der ISO, denn sie sind dort nicht explizit definiert.

Die gerade erläuterten odb-Dateien verhalten sich nun hinsichtlich der Aktivität des Speicherbuttons in der BASIC-IDE, beim Bearbeiten eines Formulars, und dem Button der 'eigentlichen' odb-Datei, so wie Du es schriebst. Das ist jedoch keineswegs 'Interpretation' oder formal, sondern ganz real.

In neueren odb-Dateien bzw. sie erzeugenden OOo-Versionen (ich schätze ab ca. OOo 3.1) ist beispielsweise die Situation in den odb-Dateien etwas anders, da diese auch aus dem odb-Container direkt ausführbare Makros enthalten können (früher konnten Makros nur in den Formularen sein) wirkt ein beliebiges Speichen in der Basic-IDE hier wier bei Calc, da die Makros nun generell im odb-Conmtainer gespeichert sind und nicht in den Formularen.
Fakt ist, wenn ich auf einen Speicher-Button
klicke, dann darf nach dem Schlieszen nichts verschwunden
sein, egal welches abstraktes Gebilde man sich zusammen-
geschustert hat.
Natürlich muß das Funktionieren (darin sind wie einer Meinung) und deshalb mühen wir uns ja dem ursprünglichen Frager eine Antwort zu geben warum es bei ihm trotzdem nicht funktioniert.

Im Zuge der 'Anwortfindung' schriebst Du nun:
Speicher in allem was ein eigenes Fenster hat!

Also Basic IDE und Calc Fenster.
Dann dürfte kein Datenverlusst auftreten.
Letzter SAtz ist ganz unstrittig richtig denn darum gehts ja hier im Thread, denn es sollte funktionieren - tut es aber nicht.

Der mittlere Satz entspricht aber einfach nicht den gegeben Möglichkeiten, deshalb fragte ich nach.

darauf bekommen ich die Antwort:
Ich habe das Verhalten von Base analog angewandt.
Wenn die Speichern-Schaltfläche inaktiv ist, kann
man davon ausgehen das alles gespeichert ist.
worauf man doch nur sagen kann Du kannst nicht etwas angewendet haben, was praktisch nicht durchführbar ist (denn es geht so wie du es beschreibst nur in Base und nicht in Calc) und der zweite TEil der Antwort, der ja wieder nur umschreibt wie es funktionieren sollte, ist hingegen ohnehin unstrittig.

Versuchte ich nun zu erklären warum das Verhalten von Calc und Base hier abweichend ist bekomme ich als Reaktion darauf nur eine Antwort die meine Erklärungen ins Reich der Absurditäten verbannt (oder wie nenne ich es sonst?) und ich frage mich ernsthaft warum.
Wo bitte liegt das Problem gegebene Dinge zur Kenntnis zu nehmen, gerne auch nötigenfalls gerne zu hinterfragen, statt so zu tun als würden sie nicht stimmen.
Du hast sogar völlige Freiheit überhaupt nicht dazu etwas schreiben zu müssen was andeutet das du etwas nicht weißt/wußtest (falls das der Punkt DEiner Verärgerung wäre), nur ich weiß einfach nicht wie ich reagieren soll wenn Du, in irrtümlicher Annahme ich wolle Dir Böses, Fakten mit nichtigen Argumenten versuchst zu demontieren.

Tut mir ehrlich leid, nur so empfinde ich Dein Vorgehen an manchen Stellen. Ich habe weder die Absicht Dich anzugreifen, noch dumm dastehen zu lassen oder zu belehren, nur es muß doch möglich sein Fakten zu benennen und wo Fehler sind diese zu berichtigen ohne das daraus Streit entsteht.
Base folgt dem leider nicht, weswegen
T. Krumbein auch in seinem Buch explizit darauf hinweist.
Aber mit Sicherheit nicht im Widerspruch zu dem was ich beschrieben habe. Ich kenne Thomas (der hier im Forum der Moderator toxitom ist) seit langen Jahren privat, wenn Du ihn kennenlernen möchtest, wäre die nächste Gelegenheit unser OOo-KOngress, siehe:
viewtopic.php?f=3&t=25413
(Das ist übrigens Sorgfalt die ich mir von anderen Wünschen
würde; Plausibilität, anstatt gute aber blind wiedergegebene
Fachkenntnisse.)
Bitte verzichte doch auf solche, nur provozierenden Zeilen. Ich habe immer wieder versucht Dich auf Sachebene mit Inhalten anzusprechen und Du reagierst dann häufig angegriffen.
Wo Du Dinge nicht weißt versuche ich nur Wissen zu vermitteln und gerne auch zu diskutieren (wobei Fakten so sind wie sie sind). Bitte korrigiere mich da wo es Sinn macht, auch kritisiere mich, aber fühle Dich nicht permanent anggegriffen wo in Wahrheit keinerlei Angriff vorliegt.
Jedensfalls ist mir nicht klar, wie bei unerklärlichem Verhalten
eine Lösung ohne Vermutung gefunden werden soll.
Dein erster Lösungsvorschlag war jedenfalls eine Vermutung.
Ist Dir wirklich nicht klar wo der Unterschied liegt zwischen einer FRage, wo keiner mit Sicherheit eine Antwort kennen kann (das hier nachgefragte FEhlverhalten beim Speichern) und einem SAchverhalt der klare Erklärungen hat (das Verhalten der Speicher-Buttons in Dokumentfenster und Basic-IDE Fenster)
Fehlerfreie Software gibt es ja garnicht, weswegen man
dass relativ sehen muss.
und da sind wir einer Meinung, nur entspricht doch dieser Satz doch irgendwie nicht der ursprünglichen Aussage, dort stand das OOo Deiner Ansicht nach fehlerfrei ist und das stimmt einfach nicht.

(Die dortige Aussage zu Benutzungsfehlern ist richtig, nur die dortige Aussage zu 'unstable Build' (Build-Fehler) ist schlicht Unsinn, denn erstens gibt es kaum Build-Fehler in OOo und Zweitens selbst wenn alle Fehler in OOo Build-Fehler wären, würde OOo dadurch nicht fehlerfrei, sondern die Fehler blieben.)
MS Office kostet ein heiden Geld,
hat eine wesentlich längere Entwicklungszeit hinter sich und
hat nicht weniger Fehler oder vermisste Funktionalität.
Bei Access gibt es halt mehr Anwender die in Form von
Bibliotheken und Workarrounds den Anschein erwecken,
dass dieses Produkt "ausgereifter" sei.
Ich persönlich finde MS Office nicht soo teuer, aber ich weiß das ich mir dieser Meinung ziemlich allein stehe.
Access allerdings IST ausgereifter als Base, das ist garkeine Frage (auch keine von 'Bibliotheken und Workarrounds' oder Assistenten und sonstigen Spielereien), sondern schlicht der Tatsache der viel längeren Existenz des Programms geschuldet.
Ich sehe auch keinen Frevel darin das hier so klar hinzuschreiben, denn das ein jüngeres Produkt (Base) meist weniger ausgereift ist als ein älteres (Access) sagt nichts gegen die Qualität des jüngeren Produkts (obwohl Base wirklich in Praxis das Sorgenkind von OOo ist, denn Migrationen von Access nach Base scheitern derzeitig häufig noch an Kosten)

Hier an der Stelle mal ganz offen: ich mache das ganze 'OOo-Zeugs' auch beruflich, insbesondere Migrationen von MS Office zu OOo, und ich weiß über was ich hier rede, auch bezüglich der gerade gemachten Einschätzung von Base/Access, denn bei in diesem Bereich existierenden Schwierigkeiten gehts um tatsächliche Praxisprobleme und keine theoretischen Betrachtungen.


Gruß
Stephan
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: OOo Basic verliert Makros

Beitrag von komma4 »

Stephan hat geschrieben:Ich persönlich finde MS Office nicht soo teuer
Ich schon: bei vier Test- und zwei Nutz-Rechnern kommen mich Lizenzen und Updatekosten einfach zu teuer.
Auch, weil ja dann die Kosten für jeweils ein Betriebssystem dazu kommen, plus die dann nötigen Anti-Viren-, -Spyware-, -Malware-Programme.

Der XP-Rechner, an welchem ich manchmal sitze, steht bei einem Kunden ... ich selbst bin seit Windows 1.0 Microsoft freie Zone, habe das "viele Geld" lieber in die Unterstützung der heimischen Automobilindustrie gesteckt und nach Untertürkheim überwiesen. 8)


[/Off-Topic] [/provozierende Aussagen meinerseits]

Mahlzeit!
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: OOo Basic verliert Makros

Beitrag von Stephan »

provozierende Aussagen meinerseits
habe ich kein Problen mit, denn ich sagte bereits das ich mit meiner Meinung wohl eher allein stehe und ich bin mir darüber hinaus bewußt das MS wegen relativer Monopolstellung überteuerte Preise durchsetzt.
Mein rein privater Grund, für mich selbst MS Office trotzdem nicht sooo teuer zu finden ist das ich bis vor ca. 2 Jahren noch (starker) Raucher war und ich mir statt Tabakwaren auch pro je 3 Monate eine Version "MS Office Ultimate 2007" hätte kaufen können (Vollversion, kein SB oder Update) habe gerade bei Alternate den Preis geprüft.



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

Re: OOo Basic verliert Makros

Beitrag von Stephan »

Das von mir beschriebene Verhalten bezieht sich auf v. 3.1
dann tut es mir leid, 3.1 verhält sich bei mir wie Calc, ich habe es jetzt nochmal ausprobiert
Die Dateistruktur ist mir klar, aber wenn ich meinen Basic Code
ändere und speichere und dann die Basic IDE schliesze.
Warum sind meine änderungen dann weg, wenn ich nicht auch
noch im Base Fenster speichere?
Das ist hier nicht nachvollziehbar, weder sind die Änderungen am Basic weg, noch wäre es möglich zweimal zu speichern.

Ich beschreibe nochmals den Weg (in OOo 3.1, Windows) um Zweifel auszuschliessen:

*ich öffne eine odb-Datei und sehe dass das dreigeteilte Base-Fenster
*ich kann jetzt über (Menü) Extras-Makros-Makros verwalten-OOo Basic Makros zum Bearbeiten in der Basic-IDE aufrufen
*ich bearbeite in der Basic-IDE und speichere meine Code-Änderungen und schliesse die Basic-IDE
*im normalen Base-Fenster ist nun die Speichern-Schaltfläche garnicht mehr aktiv, ich kann also garnicht (und sei es nur zur Sicherheit) ein zweites Mal auf Speichern klicken
*ich schliesse die odb-Datei
*ich öffne sie wieder und die gemachten Code-Änderungen sind noch vorhanden

oder:
*ich öffne eine odb-Datei und sehe dass das dreigeteilte Base-Fenster
*ich wähle ein Formular und wähle in dessen Kontextmenü Bearbeitzen
*nachdem das Formular geööffnet ist klicke ich dort auf Extras-Makros-Makros verwalten-OOo Basic Makros

der Rest wie obenstehend


In beiden Varianten funktioniert es hier also wie ich erwarte und ich kann auch kein zweites Mal speichern, weil die SChaltfläche nicht aktiv ist (ich könnte notfalls höchstens diese SChaltfläche aktiv kriegen indem ich irgendwas anderes in der odb nur zu diesem Zweck ändere, meinethalben ein neues Formular anlegen - bloß hier reict wie gesagt ohnehin einmaliges speichern, damit der Code erhalten bleibt)


(Das alles gilt für OOo 3.1, wie von Dir angefragt, in älteren Base-Versionen kann und muß ich doppelt speichern, weil der Code in den Formulardokumenten lokalisiert ist)



Gruß
Stephan
Antworten