Programmabsturz beim Speichern (gelöst)

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

Moderator: Moderatoren

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

Programmabsturz beim Speichern (gelöst)

Beitrag von erikafuchs »

Mein 'Rechentrainer' läuft jetzt eigentlich schon lange ohne größere Probleme. Jetzt habe ich eine neue Testversion hinzugefügt und die funktioniert noch nicht.
Mit meinem 'Rechentrainer' kann man Testversionen erstellen. Jeder Schüler erhält eine personalisierte Version, bei der er ausgewählte Aufgaben in einer bestimmten zeit rechnen muss. Das Ergebnis wird direkt benotet, eine starke Arbeitserleicheterung für den Mathelehrer. Diese Testversionen beinhalten die gesamte Datei mit allen Makros, sie werden aber für jeden Schüler personalisiert und haben eine andere Oberfläche als die Verion zum Üben. Jetzt habe ich für eine Lernstandserhebung neue Optionen programmiert. Diese Versionen stürzen ständig ab. Nach einer bestimmten Zahl von Aufgaben wird die gesamte Datei automatisch gespeichert. Das funktioniert in der normalen Version einwandfrei und bei den bisherigen Tests funktionierte das auch. Das regelmäßige Speichern sollte verhindern, dass die Schüler ihre Ergebnisse manipulieren und dass bei Problemen die letzten Arbeitsergebnisse nicht verloren gehen. Ich habe dafür einige Aufgaben angepasst und in dieser neuen Version stürzt das Programm mit ziemlicher Sicherheit genau beim Befehl store() ab. Nicht immer, aber meistens. Die Datei hat einen Speicherort und ist auch nicht schreibgeschützt. Ich vermute, dass im Hintergrund irgendwas falsch läuft und ein ordentliches Speichern verhindert. Kann mir da jemand weiterhelfen?
Zuletzt geändert von erikafuchs am Fr, 04.10.2019 16:48, insgesamt 1-mal geändert.
Toxitom
********
Beiträge: 3768
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Re: Programmabsturz beim Speichern

Beitrag von Toxitom »

Morgen,
...Kann mir da jemand weiterhelfen?...
Tia, schwierig ohne Kenntnisse des benutzen Codes sowie der Umstände, wann und wie der store() Befehl ausgeführt wird;)

Einfach mal die relevanten Code-Stellen hier posten und vielleicht beschreiben, wann das Erreignis "Speichern" denn ausgelöst wird.

VG
Tom
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Programmabsturz beim Speichern

Beitrag von Stephan »

und in dieser neuen Version stürzt das Programm mit ziemlicher Sicherheit genau beim Befehl store() ab. Nicht immer, aber meistens.
Das meint das Programm stürzt, wenn dann, bei "store()" ab?

("mit ziemlicher Sicherheit" kann ja auch meinen Du denkst es stürzt bei "store" ab, hast das aber nicht geprüft, dann solltest Du das prüfen)

Was passiert wenn Du genau vor das store() testweise die Zeile:

Code: Alles auswählen

Wait 5000
einfügst?

Da Du LO nutzt: Hast Du aktuell die Version gewechselt und der FEhler tritt seidem auf?



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

Re: Programmabsturz beim Speichern

Beitrag von balu »

Hallo Pit,

wie Stephan bin auch ich der Meinung das Du das mit dem Programmabsturz erstmal kontrollieren musst. Wenn wirklich Absturz, dann müsste ja eigentlich der Taskmanger eine Meldung der Art von "Program reagiert nicht mehr (keine Rückmeldung)" ausgeben. Oder aber das Office verschwindet einfach so, es hat sich von selbst geschlossen.

Oder aber es ist nicht abgestürzt, sondern es braucht jetzt bedeutend länger um die zu speichernden Daten zu speichern. Und diese längere Zeit des speicherns interprtierst Du jetzt als einen Absturz.



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
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Programmabsturz beim Speichern

Beitrag von Stephan »

Hallo Balu,

ich bin schon der Annahme das das Programm wirklich abstürzt, ich bin mir aus dem Gesagten nur nicht klar ob der Absturz wirklich bei "store()" erfolgt. Möglicherweise ja auch schon eine Zeile vorher bei einem anderen Befehl.

Der Vorschlag mit Wait hat hingegen tatsächlich den Hintergrund das ich mutmaße das ein anderer Befehl noch nicht 'fertig' ist wenn store() aufgerufen wird und es dadurch zum Absturz kommt.
"Wait 5000" ist deshalb auch nur Pi mal Daumen vorgeschlagen, aus praktischer Erfahrung. Könnte also sein das 5000 noch nicht reicht, ist aber meiner Annahme nach eher unwahrscheinlich, wahrscheinlich ist 5000 reichlich bemessen.


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

Re: Programmabsturz beim Speichern

Beitrag von erikafuchs »

Liebe Gemeinde,
vielen Dank für die Anteilnahme. Ich hatte gar nicht so sehr damit gerechnet, dass ihr mit einem derartig unpräzisen Meldung was anfangen könnt.
Ich würde ja gerne den entsprechenden Code hier posten, leider ist meine Programm aber überaus Komplex und besteht aus etwa 15000 Programmzeilen. Ich habe das Programmieren an diesem Programm mithilfe von Thomas' Buch über viele Jahre mit Trial and Error gelernt. Balu hat es sich schon mal angeschaut und fand es sehr chaotisch. Da das Programm zwischenzeitlich mit allen Funktionen recht unproblematisch auf allen Plattformen lief, habe ich es nach Balus Ratschägen nur etwas aufgehübscht.
Der neue Teil, die Lernstanderhebung, stürzt mit ziemlicher Sicherheit ab, wenn ein Satz Aufgaben berechnet wird oder der Dialog durch Abbrehen beendet wird und das Programm sich speichert. Es bleibt nicht hängen, es verschwindet blitzartig vom Bildschirm. Ich hatte das früher schon vereinzelt und weiß, dass dies gerne passiert, wenn man durch Null teilt. Ich bin auch sicher, dass nicht der Speicherbefehl das Abstürzen verursacht, sondern ein Programmteil im Hintergrund nicht beendet ist oder sonstwie das Speichern behindert. Das Ergänzen von wait 5000 schien das Problem etwas zu verbessern, im Endeffekt hilft es nicht.
Was könnte es denn sein was im Hintergrund noch passiert? Kann man dies über die Dienste des Taskmanagers verfolgen. Bei der Gelegenheit fällt mir ein, dass ich auch schon mit dem Programm in der Schule Probleme hatte und es sich von Schülern nicht starten ließ, z.B. wenn die Schüler ungeduldig zu oft die Rechentrainerdatei angeklickt haben. Ich fand dann unter Dienste jede Menge openoffice Dienste die man solange entfernen musste bis das Programm letztendich startete. In Windows 10 finde ich diese Einträge nicht mehr.
Letztendlich zur Frage nach LibreOffice oder OpenOffice. Die neuen Funktionen habe ich unter LO erstellt, bin jetzt aber wieder zu OO gewechselt. Die Abstürze erfolgen unter beiden Plattformen.
Ich stelle auch gerne den Rechentrainer in der funktionierenden Form (der steht allerdings auch auf igs-kelsterbach.de unter Downloads) und die abstürzende Lernstandserhebeung zur Verfügung - es ist allerdings eine Zumutung, sich durch diesen Code zu arbeiten. Vielleicht muss ich das Programm jetzt abspecken bis nur noch ein Programmgerüst übrigbleibt, das ich testen kann.
Und zuletzt: Ich bin aber morgen in Spanien, habe dort nur eingeschränkt Internet, werde aber dort weiterhin versuchen, das Teil zum Laufen zu bringen - muss ja, die Kollegen warten.
So long und nochmals Dank für Eure Mühe
Ach so, der Absturz erfolgt eindeutig bei store(). Wenn ich direkt in der Zeile vor "oDoc.store()" mit "print" das Programm unterbreche, erfolgt der Absturz sofort nach dem Klick auf ok. Allerdings nicht immer - aber fast immer.
Benutzeravatar
balu
********
Beiträge: 3810
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: Programmabsturz beim Speichern

Beitrag von balu »

Hallo

Stephan, ein Absturz kann ja unterschiedlich ausfallen.
erikafuchs hat geschrieben: es verschwindet blitzartig vom Bildschirm
Und das ist doch jetzt eine sehr eindeutige Aussage. Es hängt nicht (keine Programm reaktion ist ja auch ein Absturz), sondern es "kickt" sich selber aus dem Arbeitsspeicher.


@Pit
erikafuchs hat geschrieben: wenn ein Satz Aufgaben berechnet wird oder der Dialog durch Abbrehen beendet wird und das Programm sich speichert.
Eine sehr dicke Vermutung meinerseits wäre jetzt auf Grund dessen, das vielleicht in kombination mit der Zuweisung bei Ereignisse
Dokument wird geschlossen => ....
jetzt etwas im Argen liegt. Es mus ja jetzt noch nicht mal das Makro, genauer gesagt die dementsprechende SUB daran Schuld sein, sondern das es an der Falschen Stelle zugewiesen wurde. Da ich aber ohne Passwort mir die dementsprechende Sub nicht anschauen kann, bleibt es bei meiner Ausgesprochenen Vermutung.

Da ich schon bei diesem allgemeinem Punkt bin, frage ich mich doch was das soll.
Du hast bei
Neues Dokument => ....
und bei
Dokument öffnen => ....
jeweils die gleiche Sub (Rechentrainer.AnfangEnde.start) zugewiesen. Weisst Du was Du da machst? Was für einen Sinn soll das haben?

Viel Spaß in Spanien :lol:



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
erikafuchs
******
Beiträge: 690
Registriert: Di, 13.02.2007 17:38
Wohnort: Büttelborn

Re: Programmabsturz beim Speichern

Beitrag von erikafuchs »

Du hast bei
Neues Dokument => ....
und bei
Dokument öffnen => ....
jeweils die gleiche Sub (Rechentrainer.AnfangEnde.start) zugewiesen. Weisst Du was Du da machst? Was für einen Sinn soll das haben?
Der Rechentrainer liegt erstmal als Vorlagen (ots) Datei vor. Beim Öffnen wird "Start" aufgerufen, der Schüler/die Schülerin gibt Namen, Klasse, Kurs usw. ein, ein Startdatum wird eingespeichert und das ganze als "Rechentrainer_schülername.ods" abgespeichert. Wenn diese personalisierte Datei geöffnet wird, wird wiederum "Start" aufgerufen, das Datum, eingetragen, die Wochenaufgaben berechnet, u.U. der Schwierigkeitsgrad angepasst, überprüft, ob ein neues Halbjahr angefangen hat usw.. Ebenso kann aus dem Rechentrainer eine Vorlagendatei für Tests und auch personalisierte Testdateien erstellt werden. Bei allen wird zunächst "Start" ausgeführt. Stimmt meine Einstellung dann so?
Eine sehr dicke Vermutung meinerseits wäre jetzt auf Grund dessen, das vielleicht in kombination mit der Zuweisung bei Ereignisse
Dokument wird geschlossen => ....
jetzt etwas im Argen liegt. Es mus ja jetzt noch nicht mal das Makro, genauer gesagt die dementsprechende SUB daran Schuld sein, sondern das es an der Falschen Stelle zugewiesen wurde.
jawohl, das vermute ich auch. Allerdings unterscheiden sich die Abläufe zwischen dem "normalen" Rechentrainer und den Abläufen beim Test nicht wesentlich. Beim Test steht nur eine beschränkte Zeit und eine bestimmte Menge Aufgaben zur Verfügung.
Da ich aber ohne Passwort mir die dementsprechende Sub nicht anschauen kann,
Dir kann ich es ja geben, Du erschrickst bei meinem Gepfusche vielleicht nicht mehr so (Allerdings hat der Rest in der letzten Zeit ganz gut funktioniert.)
Viel Spaß in Spanien
Vielen Dank. Am 10.10. bin ich wieder da. Ich bin aber bis dahin auch in Spanien an Hilfevorschlägen sehr interessiert.
Benutzeravatar
balu
********
Beiträge: 3810
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: Programmabsturz beim Speichern

Beitrag von balu »

Hallo Pit,

jetzt versteh ich vom Grundprinzip aus her was das mit der doppelzuweisung von '...start' auf sich hat.

Aber lassen wir das jetzt mal außen vor, da ich mir aktuell eine Verkältung zugezogen habe.

Richten wir mal im groben unser Augenmerk auf das.
Beim Test steht nur eine beschränkte Zeit .... zur Verfügung.
Wie gehst Du mit der Zeit um?
Ich gehe mal davon aus das Du eine Schleife da am laufen hast, in der die Zeit irgendwie ausgewertet wird. Aber wie gehst Du vor, wenn die bestimmte Anzahl an Aufgaben innerhalb der Zeit erledigt wurden und noch Zeit übrig ist? Springst Du dann aus der schleife einfach raus, oder setzt Du die Zeit vorher auf 0 (Null)?

Und ferner; wie verhällt sich die Datei, wenn keine Aufgaben abgearbeitet wurden und einfach die Zeit abläuft?



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
erikafuchs
******
Beiträge: 690
Registriert: Di, 13.02.2007 17:38
Wohnort: Büttelborn

Re: Programmabsturz beim Speichern

Beitrag von erikafuchs »

Also:
es gibt eine Tabelle, in der der Lehrer bei der Konzeption des Tests eine Zeitbeschränkung einträgt. Außerdem, wieviele Aufgaben pro Aufgabentyp gemacht werden sollen. Beim Öffnen der Datei wählen die Schüler den Aufgabentyp aus. Im sub wird überprüft, ob "Jetziger Zeitpunkt" <> "Startzeitpunkt" + "Zeitlimit" ist, und falls Zeit da ist, wird der Dialog mit der nächsten Aufgabe geöffnet, ansonsten erfolgt eine Meldung, dass die Zeit um ist, eine gestartete Aufgabe kann also auf jeden Fall fertiggerechnet werden. (Wenn die Zeit um ist, kann u.U. ein Passwort eingegeben werden, das den Zeitraum um einen bestimmten Betrag verlängert. Auch dies wird bei der Konzeption des Tests auf der entsprechenden Tabellenseite "Test_Einstellungen" eingetragen.) Es läuft also nicht parallel eine Uhr (keine Ahnung, wie man sowas programmiert).
Ebenso die Anzahl der Aufgaben. Bei jeder neuen Aufgabe wird der Zähler eins runtergesetzt, ist der Zähler auf Null, wird der Dialog nicht geöffnet.
Sowohl wenn keine Aufgaben mehr da sind, als auch wenn keine Zeit mehr zur Verfügung steht, wird einfach der Dialog nicht mehr geöffnet.
erikafuchs
******
Beiträge: 690
Registriert: Di, 13.02.2007 17:38
Wohnort: Büttelborn

Re: Programmabsturz beim Speichern

Beitrag von erikafuchs »

ich habe zur Fehlersuche meinen Rechentrainer jetzt mal stark abgespeckt. Ohne Grafik und nichts Schwierigeres als 1 mal 1. Die Datei habe ich schon von 680kB auf 340kB erleichtert.
Vielleicht verstehe ich dann mal zunächst selbst was ich da zusammengebastelt habe.
erikafuchs
******
Beiträge: 690
Registriert: Di, 13.02.2007 17:38
Wohnort: Büttelborn

Re: Programmabsturz beim Speichern

Beitrag von erikafuchs »

Mir scheint, ich bin weitergekommen. Nachdem ich alles abgespeckt habe, unter Anderem auch alle Grafiken, stürzt das Programm anscheinend nicht mehr ab. Wie schon vermutet, hat dies nichts mit dem Speichern zu tun, der Fehler kommt aber anscheinend erst beim Speichern zum Tragen. Irgendwas ist hier falsch:
sub ZeichnungLoeschen (seite)
oPage=ThisComponent.drawpages(seite)
do while oPage.count>0
oGrafik=opage.getbyindex(oPage.count-1)
oPage.remove(oGrafik)
loop
end sub
Das sub wird hin und wieder aufgerufen um Grafiken zu löschen. Das Sonderbare ist aber, dass der Programmabsturz nur in der Testversion auftritt und sonst wohl nicht. Könnt ihr damit was anfangen?
Hier ist ein Link zu der Datei:
...entfernt...
Spätestens wenn man zweimal auf "Abbrechen" im sich öffnenden Dialog klickt, stürzt die Datei komplet ab. Wenn man in den Makros unter "Dialoge" am Anfang "zeichnungloesche (seite)" entfernt, passiert das nicht. In der "normalen" Version des Rechentrainers taucht das Problem nicht auf.
Möglicherweise ist das aber auch nur ein weiteres Problem und die Ursache liegt woanders.
Ich habe mir jetzt aber auch Mühe gegeben, mein Makro zu kommentieren.

Nachtrag: Irgendwo liegt in diesem Code wohl schon ein Fehler. Wenn ich den Aufruf "Zeichnungloeschen" Routine in "Dialoge" entferne, stürzt das Programm jetzt anscheinend nur noch bei Aufgaben ab in denen Zeichnungen vorkommen. In den entsprechenden Routinen steht am Ende natürlich auch "zeichnungloeschen". Warum das nur in den Testdateien zu Problemen führt ist sehr rätselhaft.

Noch ein Nachtag: Das mit dem Absturz nur in der Testversion habe ich jetzt auch rausbekommen: Die Aufgaben der Testversion werden vom Tabellenblatt "Übersicht_Test" gestartet und nicht von "Übersicht". Ersteres ist im Original aus letzterem entstanden. Hier werden keine Wochenaufgaben usw. angezeigt aber dafür z.B die Note und andere, für den Test wichtige, Daten. Für die obige Version für die Lernstandserhebung sind einige Zeilen ausgeblendet und Felder umgefärbt. Das Blatt "Übersicht" kann man unter "Format" einblenden. Vielleicht fällt ja jemandem (interessiert sich da wirklich noch jemand für?) was dazu ein was an dem Code oben problematisch ist oder inwieweit ein Tabellenseitenaufbau hier Probleme bereitet. Richtig nachvollziehen kann man es möglicherweise nur, wenn ich den Rechentrainer mitsamt seinen Aufgaben mit Grafiken zur Verfügung stelle oder in meine abgespeckte Version ein paar Grafiken einbaue. Mein kompletter Rechentrainer ist halt ziemlich umfangreich.
Zuletzt geändert von erikafuchs am Di, 01.10.2019 13:31, insgesamt 1-mal geändert.
Benutzeravatar
balu
********
Beiträge: 3810
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: Programmabsturz beim Speichern

Beitrag von balu »

Hallo Pit,

is ja alles ganz gut und schön was Du hier sagst, aber ich bekomme das Ding nicht ans Laufen.
Das ausführen von Makros ist entweder immer aktiv, oder ich erlaube es von Hand, je nachdem welches Office ich probiere. Und wenn die Datei geladen ist, passiert reine weg gar nichts, und ich finde auch keinen Button zum anklicken um den besagten Dialog (welchen überhaupt?) zu starten.

"zeichnungloesche (seite)"
Im Modul "Dialoge" wird das in der *sub DialogStart* aufgerufen. Mit (seite) übergibst Du den Sub-Aufruf einen Parameter. Aber von wo wird dieser ursprünglich weiter gereicht damit er in dieser Sub empfangen wird? In irgendeinem Modul in irgendeiner Sub muss ja 'seite' defeniert werden. Blos wo?

Es ist ja nur eine Vermutung, aber es könnte sein das die dazugehörige deklaration der Variablen 'seite' nicht ganz korrekt ist. Das Du sie wohl öffentlich mit DIM deklariert hast, aber es besser wäre wenn sie PUBLIC oder GLOBAL ist. Ich würde das an deiner Stelle noch mal überprüfen.

Vielleicht fällt ja jemandem [...] was dazu ein was an dem Code oben problematisch ist oder inwieweit ein Tabellenseitenaufbau hier Probleme bereitet.
Code schaue ich mir jetzt nicht mehr an. Aber im normalem Rechentrainer hast Du mit dem ausgeblendeten Blatt und den ausgeblendeten Zeilen keine Probleme, oder? Hättest Du dort auch Probleme, dann würde ich darauf tippen das da etwas mit Zellschutz oder so am werkeln wäre.


Mir fällt jetzt nichts mehr ein.



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
Toxitom
********
Beiträge: 3768
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Re: Programmabsturz beim Speichern

Beitrag von Toxitom »

Hei,

das lässt sich leider nicht so leicht sagen.... aber balu hat durchaus mit seinen Hinweisen recht.

Im gesamten Code ist eine gewisse "Verwirrtheit" festzustellen, was die Verwendung von Variablennamen gibt;)

Wen Du eine Funktion "ZeichnungLoeschen (seite)" benennst, so wird die Variable "seite" hier neu definiert und erhält den Wert des übergebenen Parameters. Die Variable ist nun zunächst sehr lokal (nur innerhalb der Funktion) definiert... sollte aber zur Klarheit als Typ mit ausgelegt sein!

Also z.B. ZeichnungLoeschen (seite as integer). Doof natürlich, dass der Name der Variablen "seite" auch global definiert weurde - ud zwasr doppelt - einmal als integer, einmal als string. Sehr ungeschickt. Technisch zwar möglich, wie aber willst Du da die Übersicht behalten??

1. Im Modul AnfangEnde unter 'allgemeine Einstellungen : seite as string

2. Im gleichen Modul...unter 'Zeichnen : seite as integer

Der arme Kompiler....

Richtig muss der Übergabeparameter als Integer übergeben werden... das muss sichergestellt sein! Sonst: Absturz....

Also hier empfehle ich, dringend den Code zu bereinigen und zu überarbeiten. Bezeichen die Variablen schon für Dich und zum Verständnis mit Typen-Zuordnung, das macht das Leben leichter:)

Also: sSeite für einen String, iSeite für eine Integer, nSeite für ne Zahl (double oder so), oSeite für ne Objekt und - wenn Du es noch gar nicht weisst - vSeite als variant;) - UNd verwende nach Möglichkeit nicht die gleichen Namen. Wie gesagt, technisch zwar möglich, aber unschön.

VG
Tom
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Benutzeravatar
balu
********
Beiträge: 3810
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: Programmabsturz beim Speichern

Beitrag von balu »

Hallo Pit,

in Ergänzung zu dem was Tom schon sagte, von wegen das seite unterschiedlich deklariert wurde, ist mir da noch etwas aufgefallen was so ähnlich ist. Ist vielleicht nicht ganz so tragisch, aber ein Grund mehr aller größte Sorgfalt bei der Variablendeklaration walten zu lassen. Es geht um folgendes.

a) Im Modul AnfangEnde unter 'allgemeine Einstellungen :
oForm,

b) Im Modul AnfangEnde unter 'Test:
oForm as object,

Bei a) ist oForm als Variant deklariert, da kein Variablentyp mittels 'as ...' zugewiesen wurde. Alle anderen Variablen in der dementsprechenden Zeile sind mit 'as Object' deklariert.

Bei b) ist oForm korrekt deklariert. Aber sie ist halt doppelt vorhanden.

Und ferner ist auch oDoc doppelt vorhanden, aber in beiden Fällen korrekt deklariert.

'Option Explicit' schlägt wohl Alarm wenn eine Variable nicht deklariert wurde, mehr macht es aber nicht. Für den Rest hat man selber zu sorgen, leider.



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