AGB  ·  Datenschutz  ·  Impressum  







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

COM Object freigeben

Ein Thema von WizoHulk · begonnen am 28. Okt 2011 · letzter Beitrag vom 18. Nov 2011
Antwort Antwort
Seite 1 von 2  1 2      
WizoHulk

Registriert seit: 25. Jun 2010
198 Beiträge
 
Delphi 5 Enterprise
 
#1

COM Object freigeben

  Alt 28. Okt 2011, 15:33
Hallo,

Ich bin hier schon am verzweifeln und komme nicht weiter.

Ich habe einen ComServer der über die Anwendung1 mit ole := createOLEObject('Application.updater'); erstellt bzw. gestartet wird, was auch so weit alle sganz gut klappt, aber ich möchte über die Anwendung2 die Instanz beenden.
Über die Anwendung2 greife ich auf die Instanz mit getActiveOLEobject('Application.updater') zu.
Mein Problem ist, wenn sie die erste Anwendung schließt, schließt sich die Instanz auch.
wie kann ich über die Zweite Anwendung das Object schließen?

Geändert von WizoHulk (29. Okt 2011 um 11:10 Uhr)
  Mit Zitat antworten Zitat
WizoHulk

Registriert seit: 25. Jun 2010
198 Beiträge
 
Delphi 5 Enterprise
 
#2

AW: COM Object freigeben

  Alt 28. Okt 2011, 17:29
Hat denn keiner eine Lösung?
  Mit Zitat antworten Zitat
WizoHulk

Registriert seit: 25. Jun 2010
198 Beiträge
 
Delphi 5 Enterprise
 
#3

AW: COM Object freigeben

  Alt 29. Okt 2011, 11:34
*Push*
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: COM Object freigeben

  Alt 29. Okt 2011, 11:43
Wie war das nochmal mit den 24 Stunden zwischen puschen

Stichworte wären hier der direkt aufruf der Release und AddRef Methoden um den Referenzcounter entsprechend zu beeinflussen.
Oder schauen ob das Marshallen von Interface-Pointer auch über Applikations-Grenzen möglich wäre.

Oder du schaust ob du nicht eine COM+-Applikation verwendest. Dort sind solche Anwendungsfälle mit "stehenbleibenden" COM-Server vorgesehen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
WizoHulk

Registriert seit: 25. Jun 2010
198 Beiträge
 
Delphi 5 Enterprise
 
#5

AW: COM Object freigeben

  Alt 30. Okt 2011, 01:59
Oh entschuldige bitte, ich wusste nicht das ich 24h warten muss.


Zitat:
Oder du schaust ob du nicht eine COM+-Applikation verwendest. Dort sind solche Anwendungsfälle mit "stehenbleibenden" COM-Server vorgesehen.
Ich habe eine Application mit einen COM Server, oder meinst du was anderes?

Ich starte ja die COM + Application über eine andere Anwendung. jedoch schließt die Application, wenn die Anwendung beendet wird.
  Mit Zitat antworten Zitat
WizoHulk

Registriert seit: 25. Jun 2010
198 Beiträge
 
Delphi 5 Enterprise
 
#6

AW: COM Object freigeben

  Alt 15. Nov 2011, 15:40
hallo

ich habe die Funktionen AddRef ,Release und QueryInterface gefunden.
Nun leider kann ich diese nicht ausführen da ich immer eine fehlermeldung bekomme, das dies vom Objekt nicht unterstützt wird.

Muss ich das noch irgendwo einbinden?
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#7

AW: COM Object freigeben

  Alt 15. Nov 2011, 16:36
Wenn du verhindern willst, dass deine Serveranwendung beendet wird, dann kannst du das über das Event OnLastRelease verhindern:
Delphi-Quellcode:
procedure TMainForm.FormCreate(Sender: TObject);
begin
   // Wenn die Anwendung über COM hochgezogen wurde und der letzte Client die Verbindung
   // beendet dann Anwendung nicht beenden (wird in dem Event-Handler gesteuert).
   ComServer.OnLastRelease := Self.HandleComServerOnLastRelease;
...

procedure TMainForm.HandleComServerOnLastRelease(var Shutdown: Boolean);
begin
   // Anwendung weiter laufen lassen, wenn der letzte Client die Verbindung abbaut
   ShutDown := False;
end;
Andreas
  Mit Zitat antworten Zitat
WizoHulk

Registriert seit: 25. Jun 2010
198 Beiträge
 
Delphi 5 Enterprise
 
#8

AW: COM Object freigeben

  Alt 18. Nov 2011, 07:57
wo hast du diese Funktion her Self.HandleComServerOnLastRelease; muss mann da jetzt noch eine Unit einbinden?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#9

AW: COM Object freigeben

  Alt 18. Nov 2011, 09:16
Die steht doch direkt unten drunter.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
WizoHulk

Registriert seit: 25. Jun 2010
198 Beiträge
 
Delphi 5 Enterprise
 
#10

AW: COM Object freigeben

  Alt 18. Nov 2011, 09:30
ja ich über geber der Procedure ein Parameter der nie benutzt wird?
und das versteh ich grad nicht so ganz.
  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 22:00 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