logo

DigiPara Liftdesigner

LD 2020 Prerelease version, 23th of April 2019

TR-05034 (Finished)
Created by: MM
Last change: 12/12/2019 9:41:35 AM

COM improvements

Most our COM interfaces have rigid lifetimes. The implementation lifetime is managed by C++, the COM interface just references the C++ implementation, and when the C++ implementation vanishes, COM gets notified and at least doesn't crash if the interface gets used.

See if we can make that more flexible to allow lifetime management to go exclusively to the COM client or be shared between COM client and C++ implementation.

Sub tasks:
Completed:
make m_pThis private; it's the raw pointer from the COM interface implementation
Yes
Mind CLDXComp::get_Profiles. The COM implementation references the CGrComp objec
Yes
Mind CLDXComp::get_AutomaticProfiles and CLDXComp::get_AutomaticPolygons
Yes
Make CADFile and CADFileGroup sharable
Yes
Make it so that you can just new LDXCADFile, LDXCADFileGroup, LDXHideCS and LDXH
Yes
Add wrapper using our weak pointers
Yes
Make Matrix/Vector COM wrapper use shared_ptr
Yes
Why is side-by-side still working even after I cleared the registry, killed the
Yes