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