|
|
|
Общий мендежер памяти
|
|||
|---|---|---|---|
|
#18+
Как между всеми dll разделить 1 менеджер памяти ? Для загрузки RTTI информации о классах в них Нужно сделать динамическую автоматизацию в приложение, подгружая тот или иной модуль. Размер модуля неважен. Пробовал с bpl но у другого пользователя требует еще bpl разные - которые delphi не кладет. И толку с этого полный ноль ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2018, 12:11 |
|
||
|
Общий мендежер памяти
|
|||
|---|---|---|---|
|
#18+
Версия delphi - tokyo 10.3. Платформа приложения 86 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2018, 12:13 |
|
||
|
Общий мендежер памяти
|
|||
|---|---|---|---|
|
#18+
MertКак между всеми dll разделить 1 менеджер памяти ? ShareMem=borlndmm.dll MertДля загрузки RTTI информации о классах в них Никак, только bpl Mertу другого пользователя требует еще bpl разные - которые delphi не кладет Так сам положи. Ну или Delphi пользователю поставь :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2018, 12:13 |
|
||
|
Общий мендежер памяти
|
|||
|---|---|---|---|
|
#18+
YuRockShareMem=borlndmm.dll спасибо YuRockНикак, только bpl Совсем никак ? Разве нельзя будет управлять классами из LibModuleList ? Расчёт был на то, что это 1 менеджер, и всё это будет в куче YuRockТак сам положи. Ну или Delphi пользователю поставь :) Я остановился класть на 10 пакете. И размер приложения стал больше чем с dll ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2018, 12:26 |
|
||
|
Общий мендежер памяти
|
|||
|---|---|---|---|
|
#18+
MertРазве нельзя будет управлять классами из LibModuleList ? Не знаю, что это такое. Я вообще никогда не пользовался RTTI "напрямую". Мне это не нужно. Вообще по идее должно всё работать с общим МП, но при условии, что все dll скомпилены ондой версией делфи. А там - кто его знает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2018, 12:55 |
|
||
|
Общий мендежер памяти
|
|||
|---|---|---|---|
|
#18+
MertЯ остановился класть на 10 пакете. И размер приложения стал больше чем с dll Когда проект перевалит через N мегабайт, то баланс пойдет в другую сторону. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2018, 12:56 |
|
||
|
Общий мендежер памяти
|
|||
|---|---|---|---|
|
#18+
MertВерсия delphi - tokyo 10.3Нет такой версии ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2018, 13:02 |
|
||
|
Общий мендежер памяти
|
|||
|---|---|---|---|
|
#18+
Заработало!) Общий менеджер творит чудеса Пример модуля Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. В самой программе Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. Видим в консоле Vcl.StdCtrls.TMemo Проект прикладываю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2018, 14:48 |
|
||
|
Общий мендежер памяти
|
|||
|---|---|---|---|
|
#18+
Не увидел ограничения. Удалил dll и exe ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2018, 14:53 |
|
||
|
Общий мендежер памяти
|
|||
|---|---|---|---|
|
#18+
Открепился из за капчи... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2018, 14:54 |
|
||
|
Общий мендежер памяти
|
|||
|---|---|---|---|
|
#18+
Mert, 1. Используй FastMM 2. Создай свой собственный bpl с rtl, vcl и fastmm 3. Компилируй exe и dll с этим созданным bpl ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2018, 18:45 |
|
||
|
Общий мендежер памяти
|
|||
|---|---|---|---|
|
#18+
ziv-2014Mert, 3. Компилируй exe и dll с этим созданным bpl Это нарушает идею о создании модульного функционала - расширяющий возможности однотипной программы. Есть ли вообще нормальная документация о создании единого bpl ? Без таскания за собою 30 дополнительных ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2018, 19:27 |
|
||
|
Общий мендежер памяти
|
|||
|---|---|---|---|
|
#18+
MertЭто нарушает идею о создании модульного функционала - расширяющий возможности однотипной программы. Интересно как? MertЕсть ли вообще нормальная документация о создании единого bpl ? Без таскания за собою 30 дополнительных Вы вообще понимаете, что такое bpl и зачем они нужны? Добавляете в bpl все нужные вам .pas модули и таскаете эту bpl с собой, компилируя программу. Другие bpl больше вам не нужны. Если вы задумались о модульности функционала, то вам нужно использовать interface-сы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2018, 20:08 |
|
||
|
Общий мендежер памяти
|
|||
|---|---|---|---|
|
#18+
YuRockShareMem=borlndmm.dll Хосподя, ну нафига это старье? У FastMM есть опции SharedMem. Обыкновенные string спокойно передаются м/у DLL и Application без утечек. На взлет не помню названия, но их там не так много, этих опций. + они хорошо документированны и переводы этих опций были в инете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2018, 01:25 |
|
||
|
Общий мендежер памяти
|
|||
|---|---|---|---|
|
#18+
Mert, оно работает через (_|_) так как у всех dll свои внутренние классы, и они никак между собою не могут работать, включая те что уже в dll даже с общим менеджером памяти. Изменения предков никак не удаётся произвести, при записи в память класса вызывается исключение записи в память. Зря убил время проверяя это, в добавок переписав класс под загрузку модульную Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. 242. 243. 244. 245. 246. 247. 248. 249. 250. 251. 252. 253. 254. 255. 256. 257. 258. 259. 260. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2019, 15:41 |
|
||
|
Общий мендежер памяти
|
|||
|---|---|---|---|
|
#18+
shonli95Mert, оно работает через (_|_) так как у всех dll свои внутренние классы, и они никак между собою не могут работать, включая те что уже в dll даже с общим менеджером памяти. Изменения предков никак не удаётся произвести, при записи в память класса вызывается исключение записи в память. Зря убил время проверяя это, в добавок переписав класс под загрузку модульную Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. 242. 243. 244. 245. 246. 247. 248. 249. 250. 251. 252. 253. 254. 255. 256. 257. 258. 259. 260. а зачем тебе миллион DLL в проекте ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2019, 18:59 |
|
||
|
Общий мендежер памяти
|
|||
|---|---|---|---|
|
#18+
MertКак между всеми dll разделить 1 менеджер памяти ? Для загрузки RTTI информации о классах в них Нужно сделать динамическую автоматизацию в приложение, подгружая тот или иной модуль. Размер модуля неважен. Пробовал с bpl но у другого пользователя требует еще bpl разные - которые delphi не кладет. И толку с этого полный ноль Создай свой bpl с rtl и vcl и пользуйся этой bpl для всех своих bpl и приложения. И будет все работать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2019, 20:05 |
|
||
|
Общий мендежер памяти
|
|||
|---|---|---|---|
|
#18+
ziv-2014MertКак между всеми dll разделить 1 менеджер памяти ? Для загрузки RTTI информации о классах в них Нужно сделать динамическую автоматизацию в приложение, подгружая тот или иной модуль. Размер модуля неважен. Пробовал с bpl но у другого пользователя требует еще bpl разные - которые delphi не кладет. И толку с этого полный ноль Создай свой bpl с rtl и vcl и пользуйся этой bpl для всех своих bpl и приложения. И будет все работать. Там этих bpl в связке на 25 мб, не считая самого приложения на 2 мб. Так что я подумал лучше 8 библиотек по 2-4 мб чем такое чудо. Тем более плагины сразу все вместе не идут А отдельно bpl не удаётся заставить работать, я просёк что у меня они не прописались в поле bpl и по этому ничего не компилировалось (удалил настройки проекта и заново открыл) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2019, 20:55 |
|
||
|
Общий мендежер памяти
|
|||
|---|---|---|---|
|
#18+
какой фигнёй только люди не занимаются, что бы только не работать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2019, 23:01 |
|
||
|
Общий мендежер памяти
|
|||
|---|---|---|---|
|
#18+
Делаете dll - работайте через простые функции и stdcall. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2019, 01:17 |
|
||
|
Общий мендежер памяти
|
|||
|---|---|---|---|
|
#18+
shonli95ziv-2014пропущено... Создай свой bpl с rtl и vcl и пользуйся этой bpl для всех своих bpl и приложения. И будет все работать. Там этих bpl в связке на 25 мб, не считая самого приложения на 2 мб. Так что я подумал лучше 8 библиотек по 2-4 мб чем такое чудо. Тем более плагины сразу все вместе не идут А отдельно bpl не удаётся заставить работать, я просёк что у меня они не прописались в поле bpl и по этому ничего не компилировалось (удалил настройки проекта и заново открыл) Значит ты что-то делаешь не так. Сделай одну bpl с rtl и vcl. Затем все проекты откомпилируй заново с ключом "компилировать с runtime-пакетами". И добавь созданную bpl в список пакетов, а остальные удали. Там должна быть одна твоя bpl. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2019, 10:59 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39639296&tid=2039553]: |
0ms |
get settings: |
5ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
399ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 197ms |
| total: | 670ms |

| 0 / 0 |
