Asbtract error due to CoInitializeEx
Posted: Fri Sep 24, 2010 6:01 pm
When some other component in your program uses CoIntialize (instead of OleInitialize), you will get an abstract error (should be AV) on freeing the SRichViewEdit.
The problem is that when registering for the IDragDrop window, it returns an error and releases the interface (see delphi docs on this function). As SRichViewEdit will not be notified (the srvdragdrop does not have a destructor which handles this), FDragDropTarget is not nil, but does not reference an object, so crashes.
As you can image this took many hours and frustration to find out.
The offending units are from RemObjects, but RichView might better handle failure of registering the Dragdrop window.
TSRichViewEdit.CreateDropTarget should handle this failure (it does not check the return value at the moment).
Why this is reported as an Abstract error, I don't know but of course using a freed object always gives strange behaviour
Best regards,
Hugo Logmans
The problem is that when registering for the IDragDrop window, it returns an error and releases the interface (see delphi docs on this function). As SRichViewEdit will not be notified (the srvdragdrop does not have a destructor which handles this), FDragDropTarget is not nil, but does not reference an object, so crashes.
As you can image this took many hours and frustration to find out.
The offending units are from RemObjects, but RichView might better handle failure of registering the Dragdrop window.
TSRichViewEdit.CreateDropTarget should handle this failure (it does not check the return value at the moment).
Why this is reported as an Abstract error, I don't know but of course using a freed object always gives strange behaviour
Best regards,
Hugo Logmans