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                   [email protected] (prefered)
Glinska ulica 2/a               [email protected]
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