Entwickler-Ecke

Sonstiges (Delphi) - Probleme beim schließen von Excelanwendung über Delphi??


Atze - Mi 11.09.02 14:34
Titel: Probleme beim schließen von Excelanwendung über Delphi??
:shock: :?:
Hallo,
mein Problem ist, dass wenn ich Werte in Excel einfüge und dann Excel schließe beziehungsweise

Quelltext
1:
2:
ExcelApplication1.Quit; 
ExcelApplication1.Disconnect;

ausführe dann wird zwar das Excel geschlossen ist aber als Prozess im Windows Taskmanager noch zu finden!
wenn ich dann ein zweites mal vom Programm aus öffne dann ist nur der Rahmen des Excelsheets zu sehen. Wie kann ich das Excel ganz schließen oder, dass das Excelscheet nicht nur als Rahmen ohne Inhalt angezeigt wird???
danke cu


Arakis - Mi 11.09.02 18:48

Also ich hab mal dieses Tutorial [http://auq.de/viewtopic.php?t=152] duchgearbeitet, wenn du dich dort nach Plan hälst, funzt das ganz prima.

Bis dann
user defined image


Pegasus - Di 07.01.03 12:46

Das Problem hatte ich auch. OLE beendet nicht die Excel-Application.
Darum habe ich das so gelöst:

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
var 
i:Integer;
inplaceobj:IOleInPlaceObject;
Excel: TOleContainer;
xla:_Application;

// Excel beenden und von OLE-Verbindung lösen
    inplaceobj := Excel.OleObjectInterface as IOleInPlaceObject;
    inplaceobj.InplaceDeactivate;
    inplaceobj := nil;
    Excel.DestroyObject;
    // warten auf container
    i := 1000;
    while (Excel.state<>osEmpty) and (i>0) do
      dec(i);
    xla.Quit();
    xla :=nil;
  except
    Showmessage('Fehler beim Freigegeben der Excel-Verknüpfung!');
  end;
  close;

:D

(07.01. 13:33 Tino) Code-Tags hinzugefügt.