Seite 1 von 1

Re: Beenden-Button

Verfasst: Mi, 22.10.2008 10:26
von komma4
BernddasBrot hat geschrieben:möcht ich dazu noch das er auch das aktuelle dukoment (Calc-Tabelle) schließt.
Wie wäre es mit:

Code: Alles auswählen

ThisComponent.close( TRUE ) 
, Klaus?

Garantiert nichts geändert?

Code: Alles auswählen

ThisComponent.dispose()

Re: Beenden-Button

Verfasst: Mi, 22.10.2008 11:22
von komma4
BernddasBrot hat geschrieben:genau diese Zeile hatte ich auch schon eingebaut nur wenn ich dann den Button drücke kommt ein Fehler.
... bei der ersten der zwei Varianten, nehme ich mal an...


.close( TRUE ) schmeisst einen Fehler, wenn noch nicht gespeichert wurde: vorher ein .store() absetzen (entspricht STRG+S)

Jetzt klappt's wie gewünscht?

Re: Beenden-Button

Verfasst: Mi, 22.10.2008 14:48
von komma4
Wie ungeduldig, Klaus.... ;-)

Code: Alles auswählen

ThisComponent.store()
ThisComponent.close( TRUE )

Re: Beenden-Button

Verfasst: Mi, 22.10.2008 21:29
von komma4
Klaus,

übe auch mit Deinem Code etwas Geduld:

Code: Alles auswählen

ThisComponent.store()
While ThisComponent.isModified() 
  Wait 1000
WEnd 
ThisComponent.close( True ) 
CloseVetoException
Message: Controller disagree
bedeutet, dass der Speichervorgang noch nicht abgeschlossen ist.


P.S.: ungetestet - ich gehe aber davon aus, dass nach dem Speichern das dirty flag zurück gesetzt wurde.

Re: Beenden-Button

Verfasst: Mi, 22.10.2008 23:08
von komma4
immer noch ungetestet:

baue einen Zähler in die WAIT-Schleife ein, damit Du bei Problemen (bspw. Netzlaufwerk nicht erreichbar) nicht ewig warten musst...

Ist die Wartezeit dann abgelaufen (ohne, dass gespeichert wurde), dann breche das Schliessen ab und fordere erneut zum Speichern auf.