Hello, Dumitru!

Dumitru Condrea wrote:

Дмитрий ты прав, но не в том случае когда длл-ки подгружаются динамически.

это ты неправ.
rfunc как udf в базе вообще никуда не линкуется -
грузится во время обращения динамически.
а gds32.dll в rfunc используется статически.

смысл поиска в Filemon - понять, что грузится статически а что
динамически, т.е. буквально - в какой момент начинать мониторить.

Так вот - вызов UDF мониторится Filemon-ом прямо перед первым
обращением к udf. А не в момент загрузки fbembed.dll.
и не после того, как fbembed.dll не смог загрузить udf.

Вот и удивляет меня тот факт что того чтоб использовать любую функцию из "рфунк" мне нужен и клиент фиребирд-а который на самом деле нужен лишь для пару функций...

gds32.dll в rfunc используется статически. Отсюда и проблема.
Если бы он ДИНАМИЧЕСКИ линковал, например как при загрузке gds32.dll
IBX проверяет наличие доступных спец-функций, тогда да - просто
при вызове необнаруженных доп-функций был бы облом, но rfunc
сам по себе грузился бы.

--
Dmitri Kouzmenko, www.ibase.ru, (495) 953-13-34


Ответить