Форум сайта python.su
Здравствуйте!
Есть dll, написанная на Delphi.
Описание функции из dll для подключения к БД:
function IC_reg(aserver_host: Pchar; aserver_port: Pchar; arm:char; user_name,password: Pchar; var answer: Pchar; abufsize: integer):integer; stdcall;
procedure TForm1.RegBitBtnClick(Sender: TObject); var rp: Pchar; ri: integer; begin GetMem(rp,32000); ri:=IC_reg('127.0.0.1','6666',IRBIS_ADMINISTRATOR,'1','1',rp,32000); Caption:=IntToStr(ri); Memo1.Lines.Text:=String(rp); FreeMem(rp); end;
from ctypes import * _dll = windll.irbis64_client IC_reg = _dll.IC_reg ServerIP = "127.0.0.1" ServerPort = "6666" ARM = "A" Login = "1" Password = "1" sBuffer = c_wchar_p(" " * 32000) Size = 32000 IC_reg.restypes = [c_wchar_p, c_wchar_p, c_wchar, c_wchar_p, c_wchar_p, c_wchar_p, c_int] IC_reg.argtypes = [c_wchar_p, c_wchar_p, c_wchar, c_wchar_p, c_wchar_p, POINTER(c_wchar_p), c_int] ans = IC_reg(ServerIP, ServerPort, ARM, Login, Password, byref(sBuffer), Size)
Офлайн
Что такое ARM?
На Делфи это IRBIS_ADMINISTRATOR
у вас “А”
попробуйте без переменных
ans = IC_reg(“127.0.0.1”) и так далее
Офлайн
ZerGВ файле описания функций библиотеки задана переменная:
Что такое ARM?На Делфи это IRBIS_ADMINISTRATORу вас “А”попробуйте без переменныхans = IC_reg(“127.0.0.1”) и так далее
IRBIS_ADMINISTRATOR = 'A';
Офлайн
посмотрите
https://github.com/amironov73/PythonIrbis
Это готовая либа. В ней вы найдете методы подключения и решения вопросов.
Офлайн
ZerGСпасибо вам! Работает.
посмотрите https://github.com/amironov73/PythonIrbisЭто готовая либа. В ней вы найдете методы подключения и решения вопросов.
Офлайн