10-20-2018, 01:22 AM
(10-19-2018, 07:36 PM)rlebeau Wrote:(10-18-2018, 11:58 PM)capslock Wrote: Compile package indylaz 10.6.2: Exit code 256, Errors: 2, Hints: 4
IdSSLOpenSSLHeaders.pas(17956,49) Hint: C arrays are passed by reference
IdSSLOpenSSLHeaders.pas(17958,64) Hint: C arrays are passed by reference
IdSSLOpenSSLHeaders.pas(17963,68) Hint: C arrays are passed by reference
Which is fine. In C and C++, C style arrays decay into a pointer to the first element. In Pascal, passing an array by reference will pass the same memory address.
(10-18-2018, 11:58 PM)capslock Wrote: IdSSLOpenSSLHeaders.pas(19230,65) Hint: Local variable "LLen" does not seem to be initialized
It is not supposed to be initialized. That variable is used with an output-only parameter of EVP_DigestFinal_ex(). OpenSSL will assign a value to the variable.
(10-18-2018, 11:58 PM)capslock Wrote: IdSSLOpenSSLHeaders.pas(19571,10) Error: function header doesn't match the previous declaration "GetCryptLibHandle:Int64;"
IdSSLOpenSSLHeaders.pas(18191,10) Error: Found declaration: GetCryptLibHandle:QWord;
Known issue, it was reported to me a month ago:
https://forum.lazarus.freepascal.org/ind...#msg297926
I've opened a ticket for it in Indy's issue tracker:
https://github.com/IndySockets/Indy/issues/234
(10-18-2018, 11:58 PM)capslock Wrote: The following patch avoid this error:
I'd like to avoid using the DynLibs unit in any of Indy's interface sections, if I can avoid it. But point taken, apparently I can't use HMODULE. I'll likely just end up using THandle instead, or at least TLibHandle.
Maybe THandle is the best option. I used it in many cross platform projects along years with no problem.