MyOle ver. 0.91 26. October 1996 These are units, which enables you to create new OLE objects, which can be inserted in rich edit control. The projects is in very early stage, so comments are welcome. If you notice any strange behaviour or GPS please, let me know. Bugs, that I am aware of, are listed at the beginnings of each unit. The most serious is improper releasing of class factories. There are some questions in source. I'll be glad to hear the answers. There are probably some comments in Slovene language left. Just ignore them. (BTW: Pardon my English...) Source code can be distributed and modified as long it is not used in commercial projects. Uh, yeah, and as long you do not modify first 5 lines of *.pas files... (... and aslong I will get the upgrades ;-)))) Features added in ver 0.91 - automatic registration - support for Embedded Object and Object Descriptor clipboard formats - TRichEditWithOle can now accept data, which was initially dragged from VCL object. - some bugs were fund and fixed - [ more bugs were added ;-) ] Refer to .pas filed for details My address is: E-Mail: Matej Trampus Matej.Trampus@kiss.uni-lj.si (prefered) Glinska ulica 2/a matejt@loki.fri.uni-lj.si 1111 Ljubljana Slovenija Europe To install: - Install TMyRichEditOleCallBack components (richole.pas unit) to VCL. The component will be installed on Win95 pane ----------------------------------------------------------------------------- BTW: I have discovered a bug in oleCtnrs.pas: TDataObject.GetObjectDescriptor line FillChar(Descriptor^, 0, DescSize) should read: FillChar(Descriptor^, DescSize,0) ----------------------------------------------------------------------------- Units: PRichOle.dpr project file mainForm.pas main form mainForm.dfm uRichOle1.pas form I used for exploring OLE. probably useless for you uRichOle1.dfm myOle.pas TMyOle - implements IOleObject interface TViewObject - implements IViewObject interface TDropTarget - not used in this project TMyPersistStorage - implementes iPersistStorage interface TDelphiOle - hides details of OLE functionality. This is the base for your new objects DataObject.pas TMyEnumFormatEtc - implements IEnumFormatEtc interface TMyDataObjects - implements IDataObject interface TOleStream - Delphi stream, which uses OLE IStream to store data richOle.pas component unit TRichEditWithOLE - component, which accepts OLE object TMyRichEditOleCallBack - implemets IRichEditOleCallBack interface debugMemo1.pas debugging unit. Creates log at c:\myole.log ClassFactory TMyClassFactory - implements IClassFactory for creating TDelphiOle (and TMyOle) objects.Use RegisterOleObjects(...) to register objects TTestObjects two test objects TOleCircle - very simple objects. Contains no data, just displays circle TTestOle - can be viewed as text or as icon. It uses same font as it's TRichEditWithOle container. Double click to change text --- EOF