diff options
author | Tor Lillqvist <tml@collabora.com> | 2018-04-10 15:53:28 +0300 |
---|---|---|
committer | Tor Lillqvist <tml@collabora.com> | 2018-05-31 14:10:56 +0300 |
commit | 552b62f24a8804b6875cfcf1191093af80af2923 (patch) | |
tree | e3bb18273045d50c1bbf1ce3fb57f7f2404b7955 /extensions/source | |
parent | fd01684f639fc7d47215ba8dfa334b876e19de12 (diff) |
Add informative comment
Change-Id: I428c2bbaa273d893fa5a3cc42bb7f3d060f375ad
Diffstat (limited to 'extensions/source')
-rw-r--r-- | extensions/source/ole/unoobjw.cxx | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/extensions/source/ole/unoobjw.cxx b/extensions/source/ole/unoobjw.cxx index 0a30609fc03e..fc8457f3129d 100644 --- a/extensions/source/ole/unoobjw.cxx +++ b/extensions/source/ole/unoobjw.cxx @@ -2180,6 +2180,16 @@ Sink::Call( const OUString& Method, Sequence< Any >& Arguments ) VariantInit(&aVarResult); UINT uArgErr; + // In the case of a VBScript client, which uses "late binding", calling Invoke on the + // sink it provides will cause a callback to our CXTypeInfo::GetNames for the given + // member id, and in that we will tell it the name of the corresponding method, and the + // client will know what event handler to invoke based on that name. + // + // As the outgoing interfaces used (ooo::vba::word::XApplicationOutgoing and others) are + // totally not stable and not published in any way, there can be no client that would + // have done "compile-time binding" and where the sink would actually be an object with + // a vtbl corresponding to the outgoing interface. Late binding clients that work like + // VBScript is all we support. nResult = pDispatch->Invoke(nMemId, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD, &aDispParams, &aVarResult, NULL, &uArgErr); SAL_WARN_IF(!SUCCEEDED(nResult), "extensions.olebridge", "Call to " << Method << " failed: " << WindowsErrorStringFromHRESULT(nResult)); |