AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein .NET-Framework (managed code) ,net Framework entladen nach Beendigung COM
Thema durchsuchen
Ansicht
Themen-Optionen

,net Framework entladen nach Beendigung COM

Ein Thema von win568 · begonnen am 26. Jun 2017 · letzter Beitrag vom 26. Jun 2017
Antwort Antwort
win568

Registriert seit: 8. Sep 2008
134 Beiträge
 
#1

,net Framework entladen nach Beendigung COM

  Alt 26. Jun 2017, 08:19
Hi

Wir verwenden in Delphi eine TLB, die per COM .NET Funktionen in Delphi einbindet. Da wir diese Funktionen nicht immer brauchen, wollen wir nach Beendigung (Freigabe aller COM Funktionen) das geladene .Net Framework auch beenden, da dieses unnötig viel Speicher benötigt. Wie kann man das machen ?? Wir haben hier nichts gefunden.
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#2

AW: ,net Framework entladen nach Beendigung COM

  Alt 26. Jun 2017, 10:38
Du hast leider keine Möglichkeit. Der entscheidende Satz steht auf der MS Seite:
Zitat:
Important

This method does not release resources to the host, unload application domains, or destroy threads. You must terminate the process to release these resources.
......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.221 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: ,net Framework entladen nach Beendigung COM

  Alt 26. Jun 2017, 12:14
Wenn du wirklich Probleme mit dem Speicher hast gibts 2 Möglichkeiten:

a, Erstellte deine Exe als 64-Bit Version

b, Lagere die .NET-Anbindung in eine eigene Exe aus.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
win568

Registriert seit: 8. Sep 2008
134 Beiträge
 
#4

AW: ,net Framework entladen nach Beendigung COM

  Alt 26. Jun 2017, 12:21
Hi

Danke für die Antworten. Die Vorschläge sind leider nicht so einfach umsetzbar. Wir arbeiten an der 64Bit Version, diese ist aber derzeit noch nicht spruchreif. Und eine eigene Exe ist nicht das was unsere Kunden wünschen. Trotzdem danke.

lg
  Mit Zitat antworten Zitat
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
981 Beiträge
 
Delphi 6 Professional
 
#5

AW: ,net Framework entladen nach Beendigung COM

  Alt 26. Jun 2017, 12:29
Hmm..

Etwas durch die Brust ins Auge:

Packe die TLBs und verwendeten Funktionen in ein separate DLL.
Dann sollte das .Net doch auch entladen werden, wenn die DLL entladen wird..
  Mit Zitat antworten Zitat
win568

Registriert seit: 8. Sep 2008
134 Beiträge
 
#6

AW: ,net Framework entladen nach Beendigung COM

  Alt 26. Jun 2017, 12:34
Hallo Holger

Leider verwenden wir auch GUI Controls. Hier wird es dann interessant
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.221 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: ,net Framework entladen nach Beendigung COM

  Alt 26. Jun 2017, 13:01
Packe die TLBs und verwendeten Funktionen in ein separate DLL.
Dann sollte das .Net doch auch entladen werden, wenn die DLL entladen wird..
Ich würde darauf Wetten das diese nichts bring da das Laden des .NET-Subsystem nicht an die DLL gebunden ist sondern an den Prozess/Exe.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Antwort Antwort


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 14:11 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz