Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2010.03.21;
Скачать: [xml.tar.bz2];

Вниз

ShareMem: конфликт версий   Найти похожие ветки 

 
RWolf ©   (2009-05-24 14:28) [0]

Есть программа на D5, которая загружает DLL, собранную под 2009. При выгрузке DLL-ки получаем AV. По-видимому, это связано с разными версиями ShareMem, так как DLL-ка, скомпилированная под той же D5, выгружается корректно.
Как правильнее всего будет обойти ситуацию? Есть ли способ согласовать менеджеры памяти приложения и библиотеки, собранных под разными версиями Delphi, или нужно смотреть в сторону отказа от ShareMem?


 
RWolf ©   (2009-05-24 14:33) [1]

да, пробовал тестировать приложение с библиотеками borlndmm.dll из обоих дистрибутивов Delphi, проблема повторяется.


 
Palladin ©   (2009-05-24 14:33) [2]


> или нужно смотреть в сторону отказа от ShareMem?

нужно


 
Slym ©   (2009-05-24 17:40) [3]

RWolf ©   (24.05.09 14:28)
попробуй другой менеджер памяти... FastMem


 
RWolf ©   (2009-05-24 18:03) [4]


> попробуй другой менеджер памяти... FastMem

FastMM?
Нашёл ещё страничку менеджера FastShareMem.


 
DVM ©   (2009-05-24 23:40) [5]


> RWolf ©  

А что библиотека то делает? Может, действительно ShareMem то и не нужен?


 
Slym ©   (2009-05-25 05:30) [6]

RWolf ©   (24.05.09 18:03) [4]
FastMM

он самый... у него в комплекте есть замена для borlndmm.dll


 
RWolf ©   (2009-05-25 16:58) [7]


> А что библиотека то делает? Может, действительно ShareMem
> то и не нужен?

Библиотека обменивается с приложением строками.


 
oxffff ©   (2009-05-25 17:18) [8]


> RWolf ©   (25.05.09 16:58) [7]


Ну дык а как объявлены строки в DLL наd2009?
Какой у них тип?
ansistring? или UnicodeString?


 
DVM ©   (2009-05-25 17:35) [9]


> RWolf ©   (25.05.09 16:58) [7]


> Библиотека обменивается с приложением строками.

Откажись от string в пользу PCHAR и обменивайся на здоровье. А еще лучше сделать так, чтобы память под строку выделяла не библиотека, а приложение, тогда вообще все будет замечательно.


 
RWolf ©   (2009-05-26 11:34) [10]


> Ну дык а как объявлены строки в DLL наd2009?Какой у них
> тип?ansistring? или UnicodeString?

строки — ansistring в 2009 и string в пятёрке.

> Откажись от string в пользу PCHAR и обменивайся на здоровье.

можно, но неудобно; если есть полноценная замена sharemem, то я предпочел бы не переделывать интерфейс.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2010.03.21;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.004 c
3-1236243330
ford
2009-03-05 11:55
2010.03.21
проблемма с вычиткой BLOB полей из базы данных


15-1262175997
Ega23
2009-12-30 15:26
2010.03.21
С наступающим, товарищи!


2-1263562192
fford
2010-01-15 16:29
2010.03.21
вызов функции из потока


2-1264014723
@!!ex
2010-01-20 22:12
2010.03.21
Как преобразовать кодировку GB2312 в UTF-8 или 16?


2-1263843087
novichek
2010-01-18 22:31
2010.03.21
canvas.textWidth для разных стилей





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский