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

Вниз

Версия borlndmm.dll ...   Найти похожие ветки 

 
sniknik ©   (2013-04-12 15:44) [0]

Есть приложение использующее вот эту самую "шаред мемори длл", стороннее приложение, старое, без исходников...
А вот сейчас нужно переписать одну из его "dll-ек" (сменились адреса/логика работы с сервером в ней реализованная)... причины не важны, но... захаркодить то что логично настраивать... нет слов.

Неважно, вопрос вот чем, версия dll в "семерке" - 7.0.4.453, версия в программе - 5.0.6.18 (пятая дельфя?), будет ли совместимость? Т.е. написать на семерке (D7) dll, для использования с версией программы (от 5-ки)...
Кто в курсе, а то я весь в сомнениях... Будет проблемы? Решаемы? Или вот прямо сейчас начинать искать 5ю дельфю?


 
Схимник   (2013-04-12 15:57) [1]

TDUMP.EXE borlndmm.dll  > 1.txt
Затем сравнить секции импорта/экспорта.

Судя по тому что вижу проблем быть не должно. DLL практически одинаковы.
Хотя под D5 размер 25600, а под D7 22528.


 
sniknik ©   (2013-04-12 16:20) [2]

> Судя по тому что вижу проблем быть не должно. DLL практически одинаковы.
Надежда умирает последней... сказала Вера, и пристрелила Любовь. ;)

p.s. Хорошо если "не должно", и главное если не будет.


 
Игорь Шевченко ©   (2013-04-12 17:00) [3]


> будет ли совместимость?


Будет


 
брат Птибурдукова   (2013-04-12 17:53) [4]

Продукты шестой и четвёртой делфы кое-как взаимодействовали (и «кое-как» — не из-за shared memory)…


 
Pavia ©   (2013-04-12 18:38) [5]


> > будет ли совместимость?Будет

А не чего что там формы разный формат имеют?


 
sniknik ©   (2013-04-12 19:49) [6]

В общем проверил, сделал "пустышку" с полным набором функций (связывание статическое), и двумя первыми вызываемыми (версия, и инициализация), проблем нет. Хотя на инициализации "полный набор" из "нестандартных" параметров... строки, рекорды, динамический массив из них.
Похоже поиск D5 отменяется. :)


 
Юрий Зотов ©   (2013-04-12 19:58) [7]


> sniknik ©   (12.04.13 15:44)  

Переводил я один проект с D5 на D7. В нем была DLL и тоже с ShareMem. DLL перепиливать не пришлось, проблем не возникло.

Хотя, наверное, возникновение проблем может зависеть еще и от того, что конкретно в этой DLL зашито.


 
Юрий Зотов ©   (2013-04-12 20:03) [8]


> > sniknik ©   (12.04.13 15:44)  

Помню, что при этом переходе пришлось править работу с вариантами (VarIsNull, VarIsEmpty и т.п.). В D5 и D7 там есть какая-то разница, но какая конкретно - не помню.

Поэтому - если в DLL есть работа с вариантами, то можно нарваться.


 
robt   (2013-04-12 21:05) [9]

первый взлом ХЕ3 основан кокраз на этой либе


 
sniknik ©   (2013-05-06 12:37) [10]

В продолжение темы (связано), переписка dll закончена, проблем (именно с borlndmm.dll) нет... но...
Там какая-та странность с возвратом строк из функций, в доке по использованию написано string, но на деле возвращает просто указатель... даже не PChar (разница есть).
В общем, получено дебагером, есть последовательность перед выходом из функций -
LocalAlloc
LocalLock
Move
LocalUnLock

понятная в принципе, выделение виндового обьекта, блока памяти, с копированием в него данных из строки.
Возвращается указатель (результат функции LocalLock), ни разу не string, но да ладно, все повторили аналогично, работает (а вот возврат "честного" PChar приводит к AV, т.е. ждут указатель именно на обьект)...
НО, остался вопрос. По идее нужно освобождение (т.к. LocalAlloc вызывается с 0 т.е. LMEM_FIXED т.е. нужен LocalFree) которое делается по хендлу, а хендл из dll не возвращается...
Есть возможность "в обратку" получить из указателя хендл (или освободить выделенную LocalAlloc по указателю)?

В общем программа как то освобождает память/хендл, как? Или просто на это "забивает"? По идее не должна, т.к. компы/программа работают месяцами не выключаясь, нехватки памяти не замечено.

Кстати вообще нафига такой способ при использовании borlndmm.dll не понятно, а она используется точно (параметрами внутрь передаются именно строки, проверено по "префиксу" рекорду до указателя, и + есть стринглист на "вход", а вот с возвратом зачем то извратились...)
(это не вопрос :))



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

Форум: "Прочее";
Текущий архив: 2013.10.13;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.002 c
15-1365767063
sniknik
2013-04-12 15:44
2013.10.13
Версия borlndmm.dll ...


6-1269732327
BoRoda
2010-03-28 03:25
2013.10.13
Отменить сохранение файла в TWebBrowser


11-1248262717
tcler
2009-07-22 15:38
2013.10.13
tinifile и windows 7


2-1358839393
ixen
2013-01-22 11:23
2013.10.13
Всплывающая подсказка в JVTrayIcon


1-1316547907
adigozelov
2011-09-20 23:45
2013.10.13
How to compare two object





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский