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