From 156f0f7a236221c615e7b9e32741935bbe5e6644 Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Wed, 12 Mar 2014 18:07:10 +0000 Subject: Miranda API fix small actman optimization git-svn-id: http://svn.miranda-ng.org/main/trunk@8585 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/Actman30/iac_call.pas | 12 ++++++++++-- plugins/ExternalAPI/delphi/m_dropbox.inc | 22 ++++++++++++++++++++++ 2 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 plugins/ExternalAPI/delphi/m_dropbox.inc (limited to 'plugins') diff --git a/plugins/Actman30/iac_call.pas b/plugins/Actman30/iac_call.pas index 074646f149..80a944ec0b 100644 --- a/plugins/Actman30/iac_call.pas +++ b/plugins/Actman30/iac_call.pas @@ -113,6 +113,7 @@ var res:LRESULT; largv:array [0..MaxArgCount-1] of uint_ptr; i:integer; + loaded:bool; begin result:=0; if (dllname =nil) or (dllname^ =#0) or @@ -122,7 +123,13 @@ begin exit; end; - hDLL:=LoadLibraryA(dllname); + loaded:=false; + hDLL:=GetModuleHandleA(dllname); + if hDLL=0 then + begin + loaded:=true; + hDLL:=LoadLibraryA(dllname); + end; // hDLL:=GetDllHandle(dllname); if hDLL<>0 then begin @@ -220,7 +227,8 @@ begin end; // FreeDllHandle(hDLL); - FreeLibrary(hDLL); + if loaded then + FreeLibrary(hDLL); end; end; diff --git a/plugins/ExternalAPI/delphi/m_dropbox.inc b/plugins/ExternalAPI/delphi/m_dropbox.inc new file mode 100644 index 0000000000..e2b6ab0cba --- /dev/null +++ b/plugins/ExternalAPI/delphi/m_dropbox.inc @@ -0,0 +1,22 @@ +{$IFNDEF M_DROPBOX} +{$DEFINE M_DROPBOX} + +const +//upload file on Dropbox +//wParam = (MCONTACT)hContact +//lParam = (LPARAM)(const wchar_t*)path - full path to file +// returns file htansfer handle or NULL on failure +// returns immediately, without waiting for the send + MS_DROPBOX_SEND_FILE:PAnsiChar = 'Dropbox/Send/File'; + +// notifies a caller about file send end +// wParam = (MCONTACT)hContact +// lParam = (LPARAM)(const wchar_t*)url - "\r\n" separated download link to file + ME_DROPBOX_SEND_SUCCEEDED:PAnsiChar = 'Dropbox/Send/Succeeded'; + +// notifies a caller about file send failure +// wParam = (MCONTACT)hContact +// lParam = (LPARAM)(HANDLE)hProcess + ME_DROPBOX_SEND_FAILED:PAnsiChar = 'Dropbox/Send/Failed'; + +{$ENDIF} -- cgit v1.2.3