Size: a a a

2020 May 13

AS

Alexey Shumkin in Delphi & Lazarus
А
Подскажите, как в Lazarus получать код ошибки от функций из библиотеки (.so) в linux.
Пробую использовать libcapi20.so от КриптоПРО,  под Windows используется GetLastError и нет проблем...
под Linux - пробовал вызывать BaseUnix.fpgeterrno при неуспешном вызове функций из .so - но функция fpgeterrno возвращает 0 ...
но ваще, сначала, чтио именно ты делаешь?
источник

А

А in Delphi & Lazarus
Alexey Shumkin
но ваще, сначала, чтио именно ты делаешь?
глобально? перевожу  JEDI WSCL
источник

А

А in Delphi & Lazarus
Alexey Shumkin
какой прототип функции-то, которая, типа, завершается с ошибкой?
CryptEncodeObject: function (dwCertEncodingType: DWORD; lpszStructType: LPCSTR;  pvStructInfo: Pointer; pbEncoded: LPBYTE; var pcbEncoded: DWORD): BOOL; stdcall;
источник

А

А in Delphi & Lazarus
всё работает, если данные корректно "ввести"... а если нет  - то false и хочется получить код... как в Windows
источник

А

А in Delphi & Lazarus
if not CryptEncodeObject(ENCODING_TYPE, X509_NAME, @CertNameInfo, nil, encNameLen)  then
 begin
   Err:=fpgeterrno;
   onErr := 'Инициализация. Ошибка в CryptEncodeObject' + ...

пока только "ошибка".. а какой её код... не понятно
источник

А

А in Delphi & Lazarus
источник

AS

Alexey Shumkin in Delphi & Lazarus
А
всё работает, если данные корректно "ввести"... а если нет  - то false и хочется получить код... как в Windows
а где сказано, что  на винде через GetLastError, а на линухе через fpgeterrno можно получить код ошибки?
источник

А

А in Delphi & Lazarus
Alexey Shumkin
а где сказано, что  на винде через GetLastError, а на линухе через fpgeterrno можно получить код ошибки?
В ms cryptoapi
источник

А

А in Delphi & Lazarus
И в примерах на c++ в sdk
источник

AS

Alexey Shumkin in Delphi & Lazarus
А
В ms cryptoapi
это в винде..
а на линухе?
источник

А

А in Delphi & Lazarus
Alexey Shumkin
это в винде..
а на линухе?
Вот и хочется узнать, как от .so получить код
источник

А

А in Delphi & Lazarus
Их продукты же.. Как то получают коды и показывают при ошибках
источник

AS

Alexey Shumkin in Delphi & Lazarus
А
Их продукты же.. Как то получают коды и показывают при ошибках
errno смотрел?
источник

А

А in Delphi & Lazarus
Alexey Shumkin
errno смотрел?
это шутка?
источник

А

А in Delphi & Lazarus
function fpgeterrno:longint; external name 'FPC_SYS_GETERRNO';
 procedure fpseterrno(err:longint); external name 'FPC_SYS_SETERRNO';
 property errno : cint read fpgeterrno write fpseterrno;
источник

А

А in Delphi & Lazarus
fpgeterrno = errno = 0
источник

AS

Alexey Shumkin in Delphi & Lazarus
А
function fpgeterrno:longint; external name 'FPC_SYS_GETERRNO';
 procedure fpseterrno(err:longint); external name 'FPC_SYS_SETERRNO';
 property errno : cint read fpgeterrno write fpseterrno;
что за property errno?
источник

А

А in Delphi & Lazarus
Alexey Shumkin
что за property errno?
Unit BaseUnix
источник

А

А in Delphi & Lazarus
Alexey Shumkin
errno смотрел?
или из другого модуля смотреть?
источник

А

А in Delphi & Lazarus
источник