Возвращает адрес функции или переменной в DLL
Синтаксис
Использование
result = DyLibSymbol ( library, symbol )
Параметры
library
symbol
String содержащая имя
функции, или переменной в библиотеке, чтобы вернуть адрес. В
Windows только, также может быть
Short
, содержащий порядковый номер переменной\функции.
Возвращаемое значение
Pointer(указатель) для функции или
переменной в библиотеке.
Если функция завершается неудачей, возвращаемое значение равно 0.
Описание
DyLibSymbol возвращает указатель на переменную или функцию с
именем
symbol , в DLL, на которую указывает
libhandle.
libhandle
может быть получено путем загрузки DLL с
DyLibLoad.
Символ должен был
Export(экспортирован)
в dll.
Если
libhandle равно 0, символ ищется в текущем исполняемом
файле или DLL.
При использовании функций
cdecl,
только имя процедуры должно быть указано. Если динамическая ссылка на
функцию создана с помощью STDCALL (по умолчанию в Windows), то функция
должна быть декорирована. Для декорации функции используется свое имя, '@',
и число байтов переданных в качестве аргументов. Например, если функция
FOO
принимает 3 аргумента типа integer, декорированная функция будет 'FOO@12'.
Помните, без явного
Alias, имя
процедуры будет заглавными буквами.
Если линковка в DLL создана в Visual C ++ (тм), декорацию не нужно
использовать. Для GCC, декорация необходима.
Примечание: dylibsymbol, если не удается, попытается автоматически
декорировать процедуру, от @0 до @256, с 4 байтовым шагом.
Пример
Различия платформ
- Динамические библиотеки недоступны в DOS, поскольку операционная
система не поддерживает их.
- Порядковые номера не поддерживаются в Linux, всегда возвращается 0.
Различия диалектов
- Не доступно в диалекте -lang qb
, но есть псевдоним __Dylibsymbol.
Отличия от QB
См. также