Files
loongoffice/extensions/source/activex
Mike Kaganski a2c3ef6d81 Move BSTR wrapper to systools, and fix some wrong BSTR uses
BSTR is documented [1] to be prefixed by a 32-bit integer specifying
its length *in bytes* (not characters), so passing wchar_t* as BSTR
is wrong, and the length member of rtl_uString can't substitute the
proper BSTR length, since rtl_uString::length specifies length in
characters. Any code taking BSTR and using SysStringLen to get its
length would only get half of the passed OUString data.

In dbaccess/source/ui/dlg/adodatalinks.cxx, the abovementioned
error was implemented. OTOH, OLEVariant::getByteSequence() in
connectivity/source/drivers/ado/Aolevariant.cxx passed BSTR from
tagVARIANT to ctor of OLEString, which resulted in the BSTR being
freed in both dtors of OLEString and OLEVariant (the latter calls
VariantClear, which itself clears string when vtfield is VT_BSTR).

[1] https://docs.microsoft.com/en-us/previous-versions/windows/desktop/automat/bstr

Change-Id: Iedbd62b20133644258af3660616add7b63cac258
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131950
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-03-22 22:23:56 +01:00
..

Description.

The StarOffice ActiveX control shows an example of access to UNO through COM technology.
It requires a properly installed StarOffice version 6.0/6.1 or OpenOffice 1.0.
This is a Lite ActiveX control so it can be used only in containers that
allows to use such controls.

Pressing to any link to staroffice document should activate the control.
So the document will be opened in ReadOnly mode.

Also it can be activated with an <OBJECT> tag from a html-page.
Without any parameters for an object tag a new writer document will be
opened for editing. Possible parameters are
    src      - full URL to the file that should be edited/viewed;
               it can contain "private:factory/..." URLs to open new documents
			   for edit, for example "private:factory/swriter"
    readonly - the default value is "true", in case it is set to any other
               value the document is opened for editing

As any ActiveX control this one should be registered.
To let MSIE register it itself the "CODEBASE" parameter
for the "OBJECT" tag should be specified
with a URL to the library "so_activex.dll".
The example of registration with "OBJECT" tag is in example.html.

Also it can be done using regsvr32 application.
To do it please write
<Path to Windows installation>\System32\regsvr32 so_activex.dll

To unregister the control please use /u option:
<Path to Windows installation>\system32\regsvr32 so_activex.dll /u