I attached a updated version.
It compiles fine and some of the functions work.
far as I can get is:
error:= GpgmeNew(ctx);
ShowMessage(string(GpgmeStrError(error)));
error:= GpgmeDataNewFromFile(indata,'C:\Users\sn\Desktop\dllexp.chm',false);
ShowMessage(string(GpgmeStrError(error)));
error:= GpgmeDataNewFromFile(outdata,'C:\Users\sn\Desktop\dllexp.pgp',false);
ShowMessage(string(GpgmeStrError(error)));
There are a bunch of functions defined that have no entry point anymore and a lot of the function params have changed since this unit was created.
for example the gpgme_op_encrypt now has 4 params instead of 3.
i.e.
Function: gpgme_error_t gpgme_op_encrypt (gpgme_ctx_t ctx, gpgme_key_t recp[], gpgme_encrypt_flags_t flags, gpgme_data_t plain, gpgme_data_t cipher)
https://www.gnupg.org/documentation/manuals/gpgme/Encrypting-a-Plaintext.htmlI tried running the actual C header gpgme.h through the H2PAS converter included with Lazarus but that had many many errors and could not convert it.
I am going to have to give up on this for now, it's taking too much time :-( I just don't have the C knowledge to figure everything out.
For now I am just going to use tprocess with gpg.exe.