Betreff |
Von |
Datum |
|
|
Thomas
Grupp
|
08.06.2005 09:50 |
|
|
Re: Excel-File erstellt, Prozess bleibt im...
Der Garbage-Collector sorgt dafür, dass nicht mehr verwendete Objekte gelöscht werden. Allerdings macht er das zu unregelmäßigen Zeiten oder wenn unbedingt Speicher benötigt wird und keiner mehr... |
|
|
|
|
|
Guido
Nachtigall
|
08.06.2005 09:57 |
|
|
Re: Excel-File erstellt, Prozess bleibt im...
ok, habe die 2 Zeilen unterhalb meines Codes eingefügt - bewirkt nichts - habe dann einen thread.sleep(1000) eingefügt und nochmals die 2 Zeilen - bringt immer noch nichts - jetzt stehen 2 Prozesse... |
|
|
|
|
|
Thomas
Grupp
|
08.06.2005 10:09 |
|
|
Re: Excel-File erstellt, Prozess bleibt im...
Folgende Lösung sollte es tun: <br>(Das Beispiel ist für C#, es sollte aber auch für VB in dieser Art funktionieren) <br><br>1. Alle Events auf den COM-Objects abhängen. <br>2. Com-Objects Releasen in der... |
|
|
|
|
|
Guido
Nachtigall
|
08.06.2005 10:03 |
|
|
Re: Excel-File erstellt, Prozess bleibt im...
das habe ich mal alles so eingegeben - geht aber immer noch nicht,<br><br>ich habe nur<br>oExcel.WorkbookBeforeSave -= EventDel_BeforeBookSave; <br>oExcel.WorkbookDeactivate -= EventDel_Deactivate; <br>nicht... |
|
|
|
|
|
Thomas
Grupp
|
08.06.2005 10:32 |
|
|
Guido
Nachtigall
|
08.06.2005 10:42 |
|
|
Thomas
Grupp
|
08.06.2005 10:48 |
|
|
Re: Excel-File erstellt, Prozess bleibt...
ok - ist auch richtig so. <br><br>hast du die Funktion:<br><br>private void NAR(object o)<br>{<br>try<br>{<br>System.Runtime.InteropServices.Marshal.ReleaseComObject(o);<br>}<br>catch {}<br>finally<br>{<br>o = null;<br>}<br>}... |
|
|
|
|
|
Guido
Nachtigall
|
08.06.2005 10:53 |
|
|
Re: Excel-File erstellt, Prozess...
Public Shared Sub NAR(ByVal o As Object)<br><br> Try<br> System.Runtime.InteropServices.Marshal.ReleaseComObject(o)<br> Catch ex As Exception<br> Finally<br> o =... |
|
|
|
|
|
Thomas
Grupp
|
08.06.2005 10:59 |
|
|
Guido
Nachtigall
|
08.06.2005 11:05 |
|
|
Re: Excel-File erstellt,...
Public Shared Sub XLSErstellenExcel(ByVal myTable As DataTable, ByVal Dateiname As String)<br><br> Dim xlApp As Excel.Application<br> Dim xlMappe As Excel.Workbook<br> Dim xlBlatt As... |
|
|
|
|
|
Thomas
Grupp
|
08.06.2005 11:08 |
|
|
Re: Excel-File erstellt,...
Ich bin mir nicht sicher, ob das SHARED nicht störend ist.<br><br>Zur Not würde ich mit System.Diagnostics.Process.KILL den Prozess löschen. |
|
|
|
|
|
Guido
Nachtigall
|
08.06.2005 11:15 |
|
|
Re: Excel-File erstellt,...
Wenn nicht shared, was dann - ich muss ja von außerhalb drauf zugreifen können?<br><br>Und wie kenne ich den aktuellen Prozess - es können ja mehrere Excel-Dateien parallel erzeugt werden - ich darf ja... |
|
|
|
|
|
Thomas
Grupp
|
08.06.2005 11:34 |
|
|
Re: Excel-File...
Man kann auch jedes mal eine Instanz dieses Klasse bilden - wenn nicht<br>shared. Es könnte sein, daß der gemeinsame Zugriff das Killen des Prozesses<br>unterbindet. Kannst du mal probieren, ob es nicht... |
|
|
|
|
|
Guido
Nachtigall
|
08.06.2005 11:43 |
|
|
Thomas
Grupp
|
08.06.2005 11:52 |
|
|
Guido
Nachtigall
|
08.06.2005 11:56 |
|
|
Re:...
ich geb´s jetzt bald auf - geht leider auch nicht |
|
|
|
|
|
Thomas
Grupp
|
08.06.2005 12:01 |
|
|
Re: Excel-File...
Also: <br>1) Prüfen, ob bereits ein Prozess Excel erstellt wurde.<br>2) Wenn ja, keine weitere Excel-Application erstellen<br><br>dann mal schauen, ob es trotzdem klappt. |
|
|
|
|
|
Guido
Nachtigall
|
08.06.2005 12:00 |
|
|
Re:...
So weit bin ich nun, aber wie weise ich dem Objekt einen vorhanden Process zu - ich habe mich schon zutode gegoogelt....<br><br> Dim ProcVorhanden As Boolean = False<br> Dim PC As... |
|
|
|
|
|
Thomas
Grupp
|
08.06.2005 14:20 |
|
|
Guido
Nachtigall
|
08.06.2005 11:19 |
|
|
Guido
Nachtigall
|
08.06.2005 11:23 |
|