Кто будет выделять буфер под тексты ошибок ? Кто будет его
заполнять,
освобождать и когда ? Что-то я вас не понимаю...
Аналог ib_alloc но в другую сторону. Выделяется память в клиентской
либе, а если приложение хочет освободить память вызывает ib_deallock.
Дико, но работать будет.
    Ужас какой :) А зачем ? Кто сейчас запрещает распарсить вектор и
скопировать к себе все строки ? Причём только тогда, когда это надо.

Никто. Jaybird в JNI-режиме так и делает. Но тогда нам не надо будет
нового варианта клиентской либы.

Ты не сказал зачем это нужно.

А я чё? Я - ничё. Это все Дима затеял - изменить сигнатуры всех методов так, чтоб не передавать указатель на ISC_STATUS в них, а вместо этого вызывать что-то типа isc_get_last_error.

Я же аргументировал, что тот факт, что ISC_STATUS валидный только до следующего вызова большинства методов не является причиной менять АПИ, так как АПИ здесь ни при чем и это только такая реализация этого АПИ. И что возможно создать другую реализацию, где все будет по-другому. И Дима согласился. Ну а потом Ты проснулся с вопросом "А как?!" :) Вот я и сгенерировал идею.

Кстати, у меня еще много разных идей сегодня после обеда появилось. Например ввести новые методы, которые еще и аллокатор как параметр получают. Тогда можно вообще память от приложение получать. :) Я еще подумаю, у меня еще идеи появится! :)

И я совсем уже потерялся - о какой
новой либе идёт речь ?

Кто-то (например я) возмется и напишет свой вариант клиентской либы. Например сгенерирую DLL с теми же точками входа, которая будет грузить Java Virtual Machine и вызывать нашу реализацию сетевого протокола.

Но шутки в сторону. Это (написать новую либу) действительно можно сделать, при чем можно сделать ее очень маленькой и такой, что сможет быть запущена на Pocket PC или Symbian. TCP-стэк у них у всех есть, а возможность подключатся к ФБ может быть аттрактивной для встраеваемых и мобильных приложений.

Хотя есть ли смысл в таком варианте без возможности делать хоть часть обработки данных локально?..

Роман

Ответить