Autor Thema: Word Export Speicher läuft voll  (Gelesen 2244 mal)

Offline Worn

  • Aktives Mitglied
  • ***
  • Beiträge: 171
  • Geschlecht: Männlich
Word Export Speicher läuft voll
« am: 31.07.07 - 08:22:33 »
Hallo,

hier mal eher eine Interessensfrage. Ich habe eine DB aus der ich die Dokumente in Word Dokumente exportiere. Dazu nutze ich die "dirty" version und öffne das Dok. im Frontend und mache quasi Copy und Paste der Notes Richtext Felden in Word Textmarken. (ist hier im Forum beschrieben)

Ich habe nun (da ich ja bequem bin ;-)) das Skript so gestaltet, dass ich in einer View Dok. markiere und dann einen Knopf Export habe und dann nur einen Ordner wähle wo die Word Dokumente gespeichert werden. Klicke ich auf Start sieht das natürlich (sorry für den Ausdruck) scheisse aus, da jedes Dok. geöffnet wird und man die selection Marke von RichTextfeld zu RichTextfeld springen sieht.

Das is aber egal, da das nur ne einmalige Aktion war um die Dokumente (eben mit Formatierungen und Screenshots) rauszuholen.

Viel interessanter bei der Sache ist, wähle ich mehr als 100 Doks. aus und beobachte dann einmal die Speicherauslastung der nlnotes.exe dann rennt die nach oben (und bleibt nach Ende des Skiptes auch dort!). Wenn ich nun genug Dokumente auswähle dann schmiert die Soße ab, weil er den Speicher wegfrisst.

Meine Frage nun, kann man dagegen was machen? Wenn ja, was? Warum passiert das (grob kann ich mir das vorstellen aber etwas genauer?).

Danke für Infos!

Grüße
Ben
Wer für alles offen ist der kann ja nich ganz dicht sein!

Offline ZaLudtske

  • Senior Mitglied
  • ****
  • Beiträge: 319
  • Geschlecht: Männlich
  • carpe diem
Re: Word Export Speicher läuft voll
« Antwort #1 am: 31.07.07 - 08:24:16 »
Schließt du am Ende des Scripts Word und die Dokumente?

Rainer
Rainer Zaske

MCSD - C#

Offline WernerMo

  • @Notes Preisträger
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.050
  • Geschlecht: Männlich
Re: Word Export Speicher läuft voll
« Antwort #2 am: 31.07.07 - 08:50:13 »
Hallo,

könnte es an einem Wordfenster liegen, das nicht sauber schließt (bzw. auf eine Eingabe wartet)?

Gruß Werner
Gruß Werner
  o                                                  o   
 /@\  Nächster @Notes-Stammtisch  /@\  online Sept. 2020?
_/_\__________________________/_\_ Details folgen.

Offline Worn

  • Aktives Mitglied
  • ***
  • Beiträge: 171
  • Geschlecht: Männlich
Re: Word Export Speicher läuft voll
« Antwort #3 am: 31.07.07 - 09:24:34 »
Hallo,

also nach jedem Dokument wird das entsprechende Word Dokument geschlossen.
Die Word "Session" erst nachdem alle gewählten Doks. durchlaufen wurden. Aber definitiv
ist am Ende nichts mehr von Word (im Task Manager) zu sehen. Die nlnotes.exe bläht sich aber
mit jedem der exportierten Dokumente auf und nachdem der ganze Prozess durchlaufen ist bleibt sie
unverändert bei der letzten Größe! (oder eben Notes stürzt ab, wenn über 160 MB speicher gefressen wurden (nur ein Beispielwert).

______________________________

viele Grüße

Ben
Wer für alles offen ist der kann ja nich ganz dicht sein!

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Word Export Speicher läuft voll
« Antwort #4 am: 02.08.07 - 13:18:14 »
ich hasse es, glaskugeln benutzen zu müssen.

Wenn Du uns nicht orakeln lassen würdest, sondern einfach den entsprechenden Code posten würdest, dann könnte man das Memory- Leak ratzfatz identifizieren. Aber so...

Tode
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline Worn

  • Aktives Mitglied
  • ***
  • Beiträge: 171
  • Geschlecht: Männlich
Re: Word Export Speicher läuft voll
« Antwort #5 am: 09.08.07 - 15:53:15 »
Hy,

sorry ich war´n paar Tage weg. Schon klar, Glaskugel is echt stressig  ::).

Also Hier der Code (auszugsweise!):

1. (Habe Deklarationen und diverse Dinge weggelassen die nichts mit dem Word export zu tun haben! Meine Kommentare für die Frage habe ich mit * gekennzeichnet)

Code
Sub Click(Source As Button)
	
	*Prüfe ob Word schon offen ist*
	
	'check the Word Application object!
	' Setting Word enviornment	
	On Error Resume Next	
	Set officeApp = GetObject("", "Word.Application")
	If Err = 208 Then  '  Fehler 208 tritt auf wenn Word noch nicht läuft
		Err = 0
		Set officeApp = CreateObject("Word.Application")  'Word "unsichtbar" starten
     'objWord.Visible = True  'Word sichtbar machen
	End If  'If Err = 208 Then
	'__________________________________________________________________________________
	
Set coll = domDb.UnprocessedDocuments

For i  = 0 To coll.Count -1
		Set domDoc = coll.GetFirstDocument'1 Doc. from collection
			
			
'__________________________________________________________________________________
		'Creata a new Word Document!
			
*hier starte ich dann die dot Vorlage!*
				Call officeApp.documents.add("c:\WDB.dot")
		
			Set officeMainDoc = officeApp.activedocument	

			Set officeFields = officeMainDoc.bookmarks
'__________________________________________________________________________________
			*Ich fülle (hier nur 1) felder aus dem Notes Dok in das Word doc.*
			With domDoc				
				'Set subject!		
				officeFields("thema").range=.subject(0)
				
	
'__________________________________________________________________________________
		'check Copy Paste! Here you need frontend components to open the current document!
			
*Hier öffne ich nun das udoc und mache die COPY PASTE METHODE!*

			'Set frondend Document!
			Set udoc = w.EditDocument(True, domDoc)
			udoc.EditMode = True
			udoc.AutoReload = False
'__________________________________________________________________________________			
			
				Call udoc.GotoField("problem")
				Call udoc.SelectAll
				Call udoc.Copy
				officeMainDoc.Bookmarks("prob").Range.Paste
			
'__________________________________________________________________________________			
			
			
			Set officeMainDoc = officeApp.activedocument	
			Call officeMainDoc.SaveAs(folder & "\" & Fulltrim(title) & ".doc") 
			
*Hier Schließe ich Das Word doc!**Word App bleibt offen*
			Call officeMainDoc.close
			
			udoc.Close
'__________________________________________________________________________________
			
'Get the next selected Document!		
			Set domDoc = coll.GetNextDocument(domDoc)
			Set officeMaindoc = Nothing
			Set udoc = Nothing
		'Wend
			
			'Muss ich hier vielleicht noch die Vars leeren? Speicher läuft voll!
			
		Next i
		
'__________________________________________________________________________________
		'finalize
*GANZ am Ende mache ich Word dicht!*
		officeApp.quit			
		Set officeApp = Nothing
	
End Sub

Das Problem ist nun, dass bei etwa 100 Docs in der Collection das Notes abschmiert und der RAM den es verbraucht bei 180 MB ist und auch nicht kleiner wird! (erst nach neustart des Clients)

Sollte ich evtl Word.App immer nach jedem gespeicherten Dokument schließen und ein neues Word Objekt anlegen? Das dauert dann bestimmt viel länger!

Danke euch..

Grüße
Ben
« Letzte Änderung: 09.08.07 - 15:56:09 von Worn »
Wer für alles offen ist der kann ja nich ganz dicht sein!

Offline ghost

  • Aktives Mitglied
  • ***
  • Beiträge: 174
  • Geschlecht: Männlich
  • Notes ist gut!
Re: Word Export Speicher läuft voll
« Antwort #6 am: 09.08.07 - 17:32:34 »
Vielleicht hilft es das UI-Document mit dem Parameter True zu schließen.

Auszug aus der Hilfe:

Zitat
Syntax
Call notesUIDocument.Close( [ immediate ] )

Parameters

immediate
Boolean. Optional. If True, the document is immediately closed. If False, closing the document may be delayed. The default is False.
Note  This parameter is new with Release 5.0.7.

Offline Worn

  • Aktives Mitglied
  • ***
  • Beiträge: 171
  • Geschlecht: Männlich
Re: Word Export Speicher läuft voll
« Antwort #7 am: 13.08.07 - 15:24:07 »
Hy,

ich probiere es mal aus und melde mich dann wieder.

Danke

Ben
Wer für alles offen ist der kann ja nich ganz dicht sein!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz