Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Anwendung stützt ab wenn DELPHI deinstalliert wird (https://www.delphipraxis.net/167872-anwendung-stuetzt-ab-wenn-delphi-deinstalliert-wird.html)

jaenicke 24. Apr 2012 07:40

AW: Anwendung stützt ab wenn DELPHI deinstalliert wird
 
Brauchst du denn Sharemem? Und FastMM im Full Debug Mode?
Beide sind eigentlich in der Regel in der Releaseversion überflüssig (wenn man nicht Schweinereien mit Stringparametern o.ä. in DLLs macht, dann braucht man Sharemem natürlich, aber dann sollte man eher die Schnittstelle sauber machen...).

bernhard_LA 24. Apr 2012 08:01

AW: Anwendung stützt ab wenn DELPHI deinstalliert wird
 
FastDebugModeDLL habe ich in X64 jetzt auch schon entfernt,

sharemem ist halt in vielen DLLS enthalten wegen der String Übergabe ... bin mir nicht sicher ob ich so schnell auf
borland memory manger dll verzichten kann müsste die ganzen includes überarbeiten
suche die schnellste Lösung für mein Problem

bernhard_LA 24. Apr 2012 08:19

AW: Anwendung stützt ab wenn DELPHI deinstalliert wird
 
problem gelöst Anwendung spielt :


BorlandDLL aus fastMM4 Versichnis (sourge forge) im x64 Bit Mode erstellt .... dann geht jetzt

himitsu 24. Apr 2012 08:56

AW: Anwendung stützt ab wenn DELPHI deinstalliert wird
 
Die Unit SimpleShareMem in alle DPRs der DLLs und EXE an erster Stelle eintragen.
Fertig.


Die neue borlndmm.dll (die mit dem FastMM drin) ist nur ein Kompatibilitätsupgrade für alte Programme, also für den Austausch der borlndmm.dll mit dem alten BorlandMM drin.
Dort werden alle Speicheranfragen immer über diese zusätzliche DLL behandelt.

FastMM kann aber mehr:
Man kann diesem über Delphi-Referenz durchsuchenShareMemoryManager sagen, daß er sich verteilen/sharen soll.
- also entweder er Findet einen anderen FastMM in einer anderen DLL/EXE und verbindet sich dann dort hin (innerhalb des eigenen Prozessraums)
- oder er ist der Erste und bietet sich anderen FastMMs an

Delphi-Quellcode:
{Searches the current process for a shared memory manager. If no memory has
 been allocated using this memory manager it will switch to using the shared
 memory manager instead. Returns true if another memory manager was found and
 this module is now sharing it.}
function AttemptToUseSharedMemoryManager: Boolean;

{Makes this memory manager available for sharing to other modules in the
 current process. Only one memory manager may be shared per process, so this
 function may fail.}
function ShareMemoryManager: Boolean;
SimpleShareMem braucht keine DLL mehr, da hier der FastMM der ersten statisch geladene DLL verwendet wird.
Oder der FastMM der EXE, wenn alle DLLs dynamisch geladen werden.
Halt immer der er FastMM, welcher für das Sharing aktiviert wurde.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:29 Uhr.
Seite 3 von 3     123   

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