Datei schließen

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

Moderator: Moderatoren

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

Datei schließen

Beitrag von erikafuchs »

Hallo leute,
ich brauche mal wieder eure Hilfe:
Beim Öffnen meiner Datei wird ein Makro ausgeführt. Es wird ein Dialog aufgerufen. Dort gibt es auch ein Button "abbrechen". Beim Anklicken soll die Datei wider geschlossen werden. Das klappt nicht, oO stürzt ab. Ich nehme an, man kann eine Datei nicht schließen während ein Makro in dieser Datei ausgeführt wird - oder gibt es da eine Möglichkeit?
Pit
F3K Total
********
Beiträge: 3704
Registriert: Mo, 28.02.2011 17:49

Re: Datei schließen

Beitrag von F3K Total »

Moin,
das geht, im Forum gibt es zig Threads dazu.
Gruß R
erikafuchs
******
Beiträge: 690
Registriert: Di, 13.02.2007 17:38
Wohnort: Büttelborn

Re: Datei schließen

Beitrag von erikafuchs »

Lieber F3K Total,
ich habe gesucht. Aber entweder war das Problem ein anderes oder ähnlich und ungelöst.
Also ausprobiert habe ich den Zusatz von "StarDesktop.terminate()" und "dispose()" - beides ändert nichts, es kommt zum Absturz.
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Datei schließen

Beitrag von komma4 »

welchen Code führt denn die Schaltfäche "Abbrechen" aus? (zeigen!)
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)
erikafuchs
******
Beiträge: 690
Registriert: Di, 13.02.2007 17:38
Wohnort: Büttelborn

Re: Datei schließen

Beitrag von erikafuchs »

Lieber Winfried,
ich glaube, ich habe dich auch schon mit meinem Rechentrainerprogramm belästigt - es ist etwa so umfangreich wie das Telefonbuch meiner Heimatstadt. Ich habe jetzt mal versucht, die relevanten Zeilen zu extrahieren. Die "sub start" wird beim Öffnen der Datei ausgeführt, in der "sub Namen" müssen die Schüler ihre Namen eingeben und wenn auf dem Dialog der "Abbr." Button gedrückt wird, wird die "sub Startabbruch" ausgeführt, diese soll die Datei schließen:

Code: Alles auswählen

sub start 
	oDoc=ThisComponent

	DialogLibraries.LoadLibrary("Rechentrainer")	
	
				namen 
		
		nachname=dSheet.getCellByPosition(1,1).string
		vorname=dSheet.getCellByPosition(2,1).string    

			Speichername="Rechentrainer " & vorname & " " & nachname & ".ods" 
			
end sub
'*******************************************************************************************************************************************************
sub Namen
	nDialog=createUnoDialog(DialogLibraries.Rechentrainer.NameDialog)
	do while (len(Trim(nachname))<2 or len(Trim(vorname))<2 or len (Trim(Klasse))=0) and abbr=0                         
		nDialog.execute()  

		vorname=nDialog.getControl("Vorname").text
		if len(Trim(vorname))<2 then msgBox "gib deinen Vornamen ein!"
		nachname=nDialog.getControl("Nachname").text
		if len(Trim(nachname))<2 then msgBox "Gib deinen Nachnamen ein!"                        
		klasse=nDialog.getControl("Klasse").text
		if fix(Klasse)=0 then msgBox "Gib deine Klasse ein!"
		kurs=nDialog.getControl("Kurs").text 
	loop 
	
 end sub
 *******************************************************************************************************************************************************
'sub startabbruch
	nDialog.endexecute()
	oDoc=ThisComponent
	oDoc.close(true)
end sub 
... im Code habe ich zur Übersichtlichkeit viele Zeilen weggelassen - Reicht das so oder brauchst du mehr?
Pit
Antworten