COM: A bold new adventure in pain

jwsacksteder at ramprecision.com jwsacksteder at ramprecision.com
Fri Sep 26 11:36:03 EDT 2003


I am attempting to do something that has apparently never yet been done
before- implement a Crystal Reports User Function Library in Python. I
suppose I should preface this by saying "I just barely understand what I am
doing".

CR has a standard for creating plug-ins that implement functions too
complicated to be done in CR's own internal grammar. When CR starts up, it
looks for COM automation servers starting with CRUFL and makes their methods
available as additional formulas inside CR. 

I have implemented a COM automation object that is registered and can be
called with Dispatch. It does, in fact, accept an input string and return
properly-formatted output.

HOWEVER- My object does not appear the the 'COM Browser' of Activestate's
Pythonwin, and fails to be included in CR. This leads me to believe my
little endeavour has gone off the rails somehow. 

My class definition(sans methods) looks something like this:

class code128tools:
    _public_methods_    = [ 'code128B' ]
    _reg_progid_        = "CRUFLfoo.code128"
    _reg_desc_           = "Crystal Reports UFL Code128 toolkit"
    _reg_clsid_          = "{733D454C-43C1-436F-A0E2-E12AE05E4F07}"   

I think I have failed to define the 'type library'. I welcome any assistance
gratefully.





More information about the Python-list mailing list