|
|
#1 |
|
Участник
|
Доброго всем времени суток
есть DLL с заголовком на С. Требуется произвести вызов из аксапты. Проблема в том, что не работает. На С прототип выглядит так: Код:
ISC_STATUS ISC_EXPORT isc_attach_database (ISC_STATUS ISC_FAR *,
short,
char ISC_FAR *,
isc_db_handle ISC_FAR *,
short,
char ISC_FAR *);Код:
isc_attach_database = new DllFunction(GDS32, "isc_attach_database");
isc_attach_database.returns(ExtTypes::DWord);
isc_attach_database.arg(ExtTypes::Pointer,
ExtTypes::Word,
ExtTypes::String,
ExtTypes::Pointer,
ExtTypes::Word,
ExtTypes::String);Код:
isc_db_handle DB;
ISC_STATUS status_vector[20];
short dpb_buf_len=20;
char dpb_buf[]={
isc_dpb_version1, //версия буфера
isc_dpb_user_name, //начинается кластер параметра имя пользователя
6, //длина этого параметра 6 байт
'S','Y','S','D','B','A', //строка имени пользователя
isc_dpb_password, //начинается кластер пароля пользователя
9, //длина его 9 байт
'm','a','s','t','e','r','k','e','y' //сам пароль
};
isc_attach_database(status_vector, strlen(str), str, &DB,dpb_buf_len,dpb_buf));Подскажите, плз, в чем грабли...
|
|
|