Submitted by Erwin Lotter:
When the TOleWindow client of a TOleFrame is painted,
the paintable area is too small by 2 pixels in each direction.
Along each side of the client rect a line of 1 pixel width stays unchanged.
Even Invalidate(true) does not erase that part of the background!
This deos not occur in in-place editing.
For TOleWindow derived classes which overide
EvOcViewSavePart() or
EvOcViewLoadPart() it is suggested in the Borland
tutorial to
include:
if (! ocLoad.Remember) {
OcDoc->SetStorage((IStorage*)0);
}
after the save or load is done.
In fact, one has to call
OcDoc->SetStorage((IStorage*)0);
unconditionally.
Otherwise, the container cannot save the compound document.
I'm not sure whether this is a flaw in the tutorial or in OCF sources.
Sebastian Ledesma
Run-time Error
COM
Public
Copyright © 2009 Geeknet, Inc. All rights reserved. Terms of Use