Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.075 Beiträge
 
Delphi 12 Athens
 
#24

AW: Anwendung stützt ab wenn DELPHI deinstalliert wird

  Alt 24. Apr 2012, 09:56
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.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat