Конференция "KOL" » String + KOL не так прост как кажется?
 
  • Freeman © (15.07.08 05:06) [20]
    Вот я не понимаю, столько нафлудили, кучу геморроя себе придумали... Что мешает, например, предусмотреть инициализационную функцию в DLL, вызываемую при её загрузке, принимающую значение MemoryManager из приложения и устанавливающее его себе в качестве рабочего? При выгрузке операция обратная. Раз сборка с BPL-ами не подходит как решение. ;)

    ИМХО, HeapMM © Владимир Кладов, встроенный в замену системных модулей, прозрачен к использованию в DLL, благодаря функции GetProcessHeap. На практике пока не проверял.

    Ищите да обрящете.
  • Danger © (17.07.08 22:10) [21]
    > Freeman ©   (15.07.08 05:06) [20]

    > Вот я не понимаю, столько нафлудили, кучу геморроя себе
    > придумали...

    У человека был конкретный вопрос; как могли подробно разъяснили, почему так, как он делал, сделать нельзя (попутно затронув string-и вообще и вскользь про менеджеры памяти). Проще один раз все подробно обсудить, и проблем не возникнет в последующем.


    >Что мешает, например, предусмотреть инициализационную
    > функцию в DLL, вызываемую при её загрузке, принимающую значение
    > MemoryManager из приложения и устанавливающее его себе в
    > качестве рабочего? При выгрузке операция обратная. Раз сборка
    > с BPL-ами не подходит как решение. ;)
    Возвращаясь к тому, что уже сказано: не вижу смысла вообще тащить менеджер памяти из хост-приложения в ДЛЛ. Я уж не говорю о том, что такой подход ограничивает в использовании средств разработки, и получается тот самый геморрой, о котором вы говорите.

    Отвязка от "сложных" типов данных решает проблему на корню - не надо задумываться об особенностях конкрентого менеджера, - используйте в хост-приложении и в дочернем модуле любой менеджер памяти по своему желанию, и передавайте любые данные через указатели (PChar, Pointer etc..) или фиксированной длины (Boolean, Word, DWord etc.). Этот способ универсален. Тем более, в случае string'a, никаких манипуляций даже не потребуется, чтобы скопировать данные из переданного PChar'a в локальный string (преобразование идет прозрачно).

    ЗЫ. Оказывается, тема еще актуальна...
 
Конференция "KOL" » String + KOL не так прост как кажется?
Есть новые Нет новых   [134431   +15][b:0][p:0]