![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
DLL [D6]
pvm © (2006-02-03 13:38:00)Не могу подключить функцию написанную на Borland C из DLL в Delphi.
Пишет что не найдена точка входа. В С функция описана без директивы stdcall, возможно причина в этом ?
Игорь Шевченко (2006-02-03 14:34:00) [1]Лечится это указанием точного имени С-шной фукнции.
Пример можно посмотреть в sharemem.pas
Игорь Шевченко (2006-02-03 14:30:00) [2]Ega23 © (03.02.06 14:00) [2]
"Еще не хотелось бы видеть открытого коверканья русского языка, использования уличного сленга."
Ega23 (2006-02-03 14:18:00) [3]
> а лечится это добавлением exten "C" при объявлении функции
> в c++
Вполне может быть, с С знаком только поверхностно
Гошик Кувшинов (2006-02-03 14:05:00) [4]
> С чем связано и как побеждать по-умному - не знаю.
в этой шняге кодируется какие у функции параметры и результат, чтобы можно было делать перекрытые функции, т.е. с одним именем и разными праметрами. из-за разных параметров их шняга будет разной и не будет конфликта имён. а лечится это добавлением exten "C" при объявлении функции в c++
Ega23 (2006-02-03 14:00:00) [5]Посмотри Hex-редактором dll, поищи название функции. скорее всего там какая-нибудь шняга, типа GetValue __%4sдописана. Или что-нить подобное.
С чем связано и как побеждать по-умному - не знаю.
Джо (2006-02-03 13:39:00) [6]Скорее всего, функция экспортируется под другим именем, C++ к имени функции прибавляет дополнительные символы.