Работа с инородными dll

Marsel83

Guest
Работа с инородными dll

Возможно ли применение dll - ок, написанных к примеру на Delphi или CBuilder
Если такое возможно, то какие ограничения могут быть к серверу либо к версиям программного обеспечения :confused:
 

kruglov

Новичок
Не знаю, как вообще php работает с dll, но если и работает, то явным ограничением к серверу - это никаких Unixов, IMHO.
 

Panchous

Павел
Marsel83:
1. какая разница, на чем написана DLL?
2. Что подразумевается под "применением"?
 

kruglov

Новичок
Tor
Моих знаний достаточно, чтобы понять, что Dynamic Linked Library - есть по сути виндовый exeшник, поэтому я очень удивился бы, если его можно будет запускать не в Windows.

Поскольку Ваших знаний достаточно, чтобы отнести мое мнение к бреду, то, может, поделитесь ими?
 

kruglov

Новичок
nighthunter
Это я в курсе, но в вопросе упоминается dll, сгенеренная Dephpi и запрашиваются конкретные ограничения для данного конкретного случая.
 

nighthunter

Новичок
Написать внешний модуль реально, это делается на си. Пишется он по опрелеленным правилам с include исходников php (не могу пока найти каких).
Загружается модуль с помощью extension в php.ini или dl()
 

kruglov

Новичок
nighthunter
Ну, в общем, тут спор опять о том, кто как понял вопрос.

Подождем реакции автора темы.
 

Marsel83

Guest
А возможно ли использование dll, написанную на Дельфи
 

Profic

just Profic (PHP5 BetaTeam)
Напрямую - нет.
php-ный dl() это не сишный dl()
Вариант 1) Написать расширение-врапер на C
Вариант 2) попробовать pecl.php.net/ffi или pecl.php.net/w32api
 

Marsel83

Guest
В этой dll функции работы со специфичной БД
Написана на Дельфи
Есть исходники - переписывать много

Вопрос - можно ли написать файл экспорта функций в Билдере и если да то как

И можно ли как - нить в пхп обращаться к встроенным классам Билдера или Дельфи
 

mike

pmcoder
Проще переписать свои библиотеки на ПХП, если они написаны тобой.

И можно ли как - нить в пхп обращаться к встроенным классам Билдера или Дельфи
С какой целью?
 

Marsel83

Guest
В нашем мире процветает писанина программ общественная :)

-~{}~ 13.07.05 18:07:

Начал подключать dll

Прописал в php.ini
enable_dl On
extension_dir прописал
apache не в safe_mode работает
всё по книжке делал

А он мне ошибку
dl() is not supported in multithreaded Web servers - use extension statements in your php.ini

Помогите - заплачу
 

nighthunter

Новичок
Marsel83
Попробуй в php.ini добавить новый extension
extension your.dll
Но опять же если dll написана не по правилам то не поможет
 

Marsel83

Guest
Понятно
всем спасибо

Может когда - нить поумнею
 
Сверху