В программе создаётся блок данных, подскажите как получить доступ к нему из Dll.
Здравствуйте, Вовочка, Вы писали:
В>В программе создаётся блок данных, подскажите как получить доступ к нему из Dll.
Видимо, передать в эту DLL указатель на этот блок
А вот насчет ответа коллеги про GlobalAlloc я так и не понял, чем не устраивают другие методы выделения памяти, их же куча целая, выбирай почти любой.
Здравствуйте, Вовочка, Вы писали:
В>В программе создаётся блок данных, подскажите как получить доступ к нему из Dll.
Вопрос три дня назад возникал
здесьАвтор: AlexandrN
Дата: 23.11.02
Здравствуйте, vasketsov, Вы писали:
V>Здравствуйте, Вовочка, Вы писали:
В>>В программе создаётся блок данных, подскажите как получить доступ к нему из Dll.
V>Видимо, передать в эту DLL указатель на этот блок
V>А вот насчет ответа коллеги про GlobalAlloc я так и не понял, чем не устраивают другие методы выделения памяти, их же куча целая, выбирай почти любой.
Проблема может быть в том, что если модули собирались разными компиляторами или с разными настройками CRT, их кучи могут стать несовместимыми. Это не проблема, если ты выделяешь и освобождаешь память в одном модуле. Если ты хочешь выделить память в одном модуле, передать в dll и там освободить память, используй API-шные функции, которые не используют кучу.
Это на мой взгляд единственная проблема реально существующая сегодня. Просто во времена 16-тиразрядных систем нужно было использовать именно GlobalAlloc для того, чтобы выделить память разделяемую между модулями (ну, во всяком случае, мне так кажется