AW: Standardunits in dll einbinden
Hallo himitsu,
Ok, habe verstanden. Also ist SimpleShareMem (das abgespeckte FastMM4??) nötig um gemeinsamen Speicher, ohne zusätzliche dll zu verwalten. Der Beitrag aus Hallvard's Blog suggerierte mir, dass das Einbinden einer zusätzlichen unit seit Delphi 2007 nicht mehr nötig wäre. Werde es später ausprobieren. Noch eine kleine Nachfrage: wenn ich statt SimpleShareMem FastMM4 einbinde habe ich ja auch einen MM, der keine dll zusätzlich benötigt. Gibt es hier Erfahrungswerte für die verschienen conditionals für die exe und die dll? Hast Du vielleicht sogar Beispiele, wie man die FastMM4-include ändern sollte um gute Ergebnisse für Debug/Release zu erzielen? Danke und Grüße Ralf |
AW: Standardunits in dll einbinden
Die DLL war eigentlich nie nötig, aber diese stellt als seperate globale DLL eine sichere Methode dar, um problemlos zu sharen, da sie immer als "erstes" (vor der EXE und der anderen DLL) geladen wird.
Problem: versuche mal den Speicher zwischen 2 dynamisch geladenen DLLs (nicht mit der EXE, sondern nun zwischen den DLLs) zu sharen. - erste DLL laden - diese läd ihren MM - zweite DLL laden - diese nutzt nun den MM der Ersten - erste DLL entladen - diese nimmt ihren MM mit - in zweiter DLL kracht es nun, da der MM weg ist Das Problem hat man auch mit FastMM (ohne extra DLL für die MM-Verwaltung) Die Unit SimpleShareMem enthält auch nur die Funktionsaufrufe für ShareMemoryManager und AttemptToUseSharedMemoryManager und vereinfacht so deren Aufruf, da man sich selber nicht soeine Unit basteln muß, denn ein externer/anderer MM kann nur geladen werden, wenn der Eigene noch nicht gestartet/benutzt wurde. Klar kannst du einen neueren/größeren FastMM nutzen, aber auch diesen mußt du, irgendwo in der Options.inc (oder wie die nochmal heißt) dieses aktivieren. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:55 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