Click to See Complete Forum and Search --> : IPersistStreamInitImpl and problem of saving BSTRs


Alexander Serov
April 16th, 1999, 12:39 AM
I've created some component using ATL.
I want my ActiveX property "BSTR m_MyStr" to be persistable.
In order to make IPersistStreamInitImpl to save my property I
added the next string to the property map.

BEGIN_PROP_MAP(CMyControl)
PROP_DATA_ENTRY("_My", m_MyStr, VT_BSTR)
END_PROP_MAP()

But it saves only pointer to my string, not the text.
How can I solve the problem of saving BSTR properties?

Thanks in advance

mihai
April 16th, 1999, 02:59 AM
Override the IPersistStreamInit_Save function in your control, and save a CComBSTR, which have WriteToStream functio,
In implemetation of IPersistStreamInit_Save, call first AtlIPersistStreamInit_Save, to save all PROP_.... The same thing for loading operation.
Sincerely, Mihai

Alexander Serov
April 16th, 1999, 07:53 AM
Thanks!
But why isn't there a standart implementation
in ATL?