AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Word-OleObject korrekt schliessen?

Ein Thema von Angel4585 · begonnen am 25. Jan 2007 · letzter Beitrag vom 27. Feb 2007
Antwort Antwort
Seite 1 von 2  1 2      
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#1

Word-OleObject korrekt schliessen?

  Alt 25. Jan 2007, 10:15
Hallo,

Ich öffne per OleContainer ein Worddokument, habe jetzt beim Beenden des Programms folgende Probleme:

1.Es existiert nach wie vor eine WINWORD.EXE im Taskmanager
//2.Es kommt eine AV in der ole32.dll und dann dreimal Runtime Error 216 bei 004038A6 und zweimal 0042CDAE(Hat sich erledigt )

ich löse ein Olecontainer1.OleObject.Application.Quit vor dem schliessen aus, was eigentlich doch genügen sollte oder?

Hoffe ihr habt Antworten

Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#2

Re: Word-OleObject korrekt schliessen?

  Alt 26. Jan 2007, 15:02
So, nachdem die Runtime-Errors zwischenzeitlich weg waren, sind diese schon wieder da.
Das programm schliesst sich immernochnicht... hat keiner eine Idee?
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#3

Re: Word-OleObject korrekt schliessen?

  Alt 30. Jan 2007, 11:50
Die Fehler aus den andern beiden Threads konnte ich zwar beheben, aber die Runtime-Errors sind noch da.
Weis da mittlerweile jemand was ich da falsch machen könnte?

Also der Ablauf sieht so aus:

CreateObjectFromFile;
Objektinhalt bearbeiten
Objekt, bzw. Dokument in Datei speichern
//Hier muss ich denke ich etwas tun, aber ich weis nicht was...
Formular schliessen
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Word-OleObject korrekt schliessen?

  Alt 30. Jan 2007, 11:57
Hallo,

das erzeugte OLE-Objekt auf NIL setzen ?


Heiko
Heiko
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#5

Re: Word-OleObject korrekt schliessen?

  Alt 30. Jan 2007, 12:07
Das Problem ist, das mein OLE-Objekt(OleContainer1.OleObject) eine Nur-Lesen-Eigenschaft ist und ich der keinen Wert, also auch nicht NIL zuweisen kann.
Deswegen versuche ich die Funktion OleContainer1.DestroyObject aufzurufen um es freizugeben, was zwar functioniert, aber nichts an den Fehlern ändert.
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
capo

Registriert seit: 7. Jul 2006
453 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Word-OleObject korrekt schliessen?

  Alt 30. Jan 2007, 12:11
hatte mal so eine meldung wegen meinem virenprogram von norton
Hotte
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#7

Re: Word-OleObject korrekt schliessen?

  Alt 30. Jan 2007, 12:19
Virenprogramm war aktiv, habs grad ausgeschaltet, Runtime-Errors kommen aber immernoch
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#8

Re: Word-OleObject korrekt schliessen?

  Alt 21. Feb 2007, 08:04
Hat echt keiner ne Ahnung was ich verkehrt mache? Ich kann echt keine Runtime Errors mehr sehn
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
raiguen
(Gast)

n/a Beiträge
 
#9

Re: Word-OleObject korrekt schliessen?

  Alt 21. Feb 2007, 09:51
Moin
Probier das mal so:
Delphi-Quellcode:
...
//--Dokument in OleContainer laden
      if (OleContainer1.State = osEmpty) then
        begin
          OleContainer1.CreateObjectFromFile(cDokument, False);
          OleContainer1.Run;
          OleContainer1.Align := alClient;
          OleContainer1.SizeMode:= smScale;
          OleContainer1.Visible := True; //--falls noch nicht sichtbar
        end
      else
        OLEContainer1.doVerb(1);
...
//--Dokument schließen(speichern) und OLEContainer freigeben (vorzugsweise im FormClose):
...
  if OleContainer1.State<>osEmpty then
    begin
      //änderungen im Formular speichern
      OleContainer1.SaveAsDocument(cDokument);
      Visible := False;
      OleContainer1.Close;
      OleContainer1.DestroyObject;
  end;
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#10

Re: Word-OleObject korrekt schliessen?

  Alt 22. Feb 2007, 14:26
zum schliessen evrwende ich:

OleContainer1.OleObject.Application.Quit;
OleContainer1.DestroyObject;
OleContainer1.Destroy;

Aber das Word geht einfach nicht zu, es ist und bleibt in den Prozessen...

ich verwende OleContainer1.DoVerb(ovShow); um das Objekt anzuzeigen, vllt macht das Probleme, denn ovShow ist -1, aber ein Versuch mit 1 hat auch keine Besserung gebracht.


Edit:
Mir ist grad aufgefallen, dass das Programm wenns "normal" läuft 9 Threads im Taskmanager anzeigt, wenn ich diesen OleContainer öffne jedoch 4 dazukommen, also 13. Wenn ich das Fenster mit dem OleContainer jetzt schliesse und auch freigebe, bleibt es allerdings auf 13.
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz