Jörg Schmidt wrote: > Meine Fragen: > (1) > Warum verhalten sich OOo 1.1.4 und OOo 2.0.1 hier unterschiedlich?
Weil OOo1.1.4 einen Bug hatte, der gelegentlich zu Crashes führte. Der konnte nur dadurch gefixt werden, dass ein unmittelbares Zerstören eines Dokuments innerhalb der Ereignisverarbeitung verhindert wird. Das Dokument zerstört sich dann selbst unmittelbar danach, leider für dein Macro zu spät. > (Konkret habe ich weder Deine noch die Erklärung von Thomas genau > verstanden, nur Thomas sagt ja das wäre in 2.0.1 ein Fehler (das würde > dann weitere Erklärungen entbehrlich machen), Du hingegen sagst (IMHO) > es dürfte garnicht funktionieren.) Noch einmal: der von Thomas erwähnte Fehler (der übrigens in Ooo2.0.2 gefixt sein wird) hat *überhaupt nichts* mit deinem Problem zu tun. > (2) > Wie 'überzeuge' ich OOo 2.0.1 ggf. sich so zu verhalten wie 1.1.4, falls > doch kein Fehler in Version 2.0.1 vorliegt. Wie gesagt: das Verhalten ist korrekt so wie es in Ooo2.0.1 ist. Das Feature, ein Dokument *sofort* in seinem "OnLoad"-Event zerstören zu können musste zugunsten besserer Stabilität geopfert werden. Ich finde nicht, dass das ein Verlust ist. Du musst schon zugeben, dass dein Macro etwas eigenartige Dinge tut. Leider gibt es in OOo-Basic keine Timer-Events, dann könntest du das Problem relativ simpel dadurch lösen, dass du das Neuladen einfach später ausführst. Noch ein Versuch der Erklärung: Du lädst ein Dokument. Wenn das Dokument mit dem Laden fertig ist, versendet es ein Event "Bin fertig!". Du hast per Konfiguration verfügt, dass beim Eintreffen dieses Events ein Basic-Macro ausgeführt wird. Dieses Macro ruft u.a. "close(True)" an dem Dokument auf, dabei wird es geschlossen, aber noch nicht vollständig zerstört, da es sonst in manchen Fällen bei der Rückkehr von der Macro-Verarbeitung zu Abstürzen kam. Erst wenn diese Rückkehr erfolgt ist, also *nachdem* dein komplettes Macros durchgelaufen ist, wird das Dokument restlos freigegeben. Ich halte das Verhalten nicht für einen Bug, ich würde sogar soweit gehen, dass ich mir auch vorstellen könnte, dass man hier den "close"-Aufruf verweigern könnte (in Form einer CloseVetoException). Um dieses Verhalten zu ändern, müsste jedenfalls ein nicht unerheblicher Aufwand getrieben werden, ich kann mir nicht vorstellen, dass es dazu kommt. Aber man soll nie nie sagen. Soll heißen: ich denke darüber nach. :-) Ciao, Mathias -- Mathias Bauer - OpenOffice.org Application Framework Project Lead Please reply to the list only, [EMAIL PROTECTED] is a spam sink. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
