These are probably just the objects defined in the makepy generated files. You are looking for object which describe themself as a "PyIDispatch" (or possibly PyIUnknown)

HTH,

Mark

On 2/10/2012 8:21 AM, Matteo Boscolo wrote:
I'm going on with my stydy, inspecting the gc..

the only object that seems very satrange is  listed below.
ITDPropClass its the com object of the com application
there is somone that can tell me if i'm on the right way?
dose _vtables_ have a particular mening?

regards,
Matteo

42760064 <type 'dict'>
{'ITDPropClass_vtables_': [((u'Name', u'pVal'), 10, (10, (), [(16392,
10, None, None)], 1, 2, 4, 0, 60, (3, 0, None, None), 0)),
((u'SetValue', u'typeValue', u'maxElValue'), 11, (11, (), [(12, 1, None,
None), (3, 1, None, None)], 1, 1, 4, 0, 64, (3, 0, None, None), 0)),
((u'GetValue', u'typeValue', u'maxElValue'), 12, (12, (), [(16396, 2,
None, None), (16387, 2, None, None)], 1, 1, 4, 0, 68, (3, 0, None,
None), 0)), ((u'Description', u'pVal'), 13, (13, (), [(16392, 10, None,
None)], 1, 2, 4, 0, 72, (3, 0, None, None), 0)), ((u'Description',
u'pVal'), 13, (13, (), [(8, 1, None, None)], 1, 4, 4, 0, 76, (3, 0,
None, None), 0)), ((u'UsedBy', u'pVal'), 14, (14, (), [(24585, 10, None,
"IID('{D344208D-C991-11D3-BDD6-00500400405B}')")], 1, 2, 4, 0, 80, (3,
0, None, None), 0)), ((u'ClassReadable', u'pVal'), 15, (15, (), [(16395,
10, None, None)], 1, 2, 4, 0, 84, (3, 0, None, None), 0)),
((u'ClassReadable', u'pVal'), 15, (15, (), [(11, 1, None, None)], 1, 4,
4, 0, 88, (3, 0, None, None), 0)), ((u'ClassWritable', u'pVal'), 16,
(16, (), [(16395, 10, None, None)], 1, 2, 4, 0, 92, (3, 0, None, None),
0)), ((u'ClassWritable', u'pVal'), 16, (16, (), [(11, 1, None, None)],
1, 4, 4, 0, 96, (3, 0, None, None), 0)), ((u'ClassDeletable', u'pVal'),
17, (17, (), [(16395, 10, None, None)], 1, 2, 4, 0, 100, (3, 0, None,
None), 0)), ((u'ClassDeletable', u'pVal'), 17, (17, (), [(11, 1, None,
None)], 1, 4, 4, 0, 104, (3, 0, None, None), 0)),
((u'PropertyInheritance', u'pVal'), 18, (18, (), [(16395, 10, None,
None)], 1, 2, 4, 0, 108, (3, 0, None, None), 0)),
((u'PropertyInheritance', u'pVal'), 18, (18, (), [(11, 1, None, None)],
1, 4, 4, 0, 112, (3, 0, None, None), 0)), ((u'PropertyReadable',
u'pVal'), 19, (19, (), [(16395, 10, None, None)], 1, 2, 4, 0, 116, (3,
0, None, None), 0)), ((u'PropertyReadable', u'pVal'), 19, (19, (), [(11,
1, None, None)], 1, 4, 4, 0, 120, (3, 0, None, None), 0)),
((u'PropertyWritable', u'pVal'), 20, (20, (), [(16395, 10, None, None)],
1, 2, 4, 0, 124, (3, 0, None, None), 0)), ((u'PropertyWritable',
u'pVal'), 20, (20, (), [(11, 1, None, None)], 1, 4, 4, 0, 128, (3, 0,
None, None), 0)), ((u'PropertyDeletable', u'pVal'), 21, (21, (),
[(16395, 10, None, None)], 1, 2, 4, 0, 132, (3, 0, None, None), 0)),
((u'PropertyDeletable', u'pVal'), 21, (21, (), [(11, 1, None, None)], 1,
4, 4, 0, 136, (3, 0, None, None), 0)), ((u'ClassSubType', u'pVal'), 22,
(22, (), [(16387, 10, None, None)], 1, 2, 4, 0, 140, (3, 0, None, None),
0)), ((u'ClassSubType', u'pVal'), 22, (22, (), [(3, 1, None, None)], 1,
4, 4, 0, 144, (3, 0, None, None), 0)), ((u'ClassPrompt', u'pVal'), 23,
(23, (), [(16392, 10, None, None)], 1, 2, 4, 0, 148, (3, 0, None, None),
0)), ((u'ClassPrompt', u'pVal'), 23, (23, (), [(8, 1, None, None)], 1,
4, 4, 0, 152, (3, 0, None, None), 0)), ((u'SetStyle', u'pCase',
u'pFormat', u'pBlank'), 24, (24, (), [(3, 1, None, None), (3, 1, None,
None), (11, 1, None, None)], 1, 1, 4, 0, 156, (3, 0, None, None), 0)),
((u'GetStyle', u'pCase', u'pFormat', u'pBlank'), 25, (25, (), [(16387,
2, None, None), (16387, 2, None, None), (16395, 2, None, None)], 1, 1,
4, 0, 160, (3, 0, None, None), 0)), ((u'SetRange', u'minValue',
u'maxValue'), 26, (26, (), [(5, 1, None, None), (5, 1, None, None)], 1,
1, 4, 0, 164, (3, 0, None, None), 0)), ((u'GetRange', u'minValue',
u'maxValue'), 27, (27, (), [(16389, 2, None, None), (16389, 2, None,
None)], 1, 1, 4, 0, 168, (3, 0, None, None), 0))], 'python_version':
34014192, 'defaultUnnamedArg': <PyOleEmpty object at 0x01E49980>,
'defaultNamedNotOptArg': <PyOleEmpty object at 0x01E49980>, 'CLSID':
IID('{F4503A16-F637-11D2-BD55-00500400405B}'), 'LibraryFlags': 8,
'MinorVersion': 0, 'DispatchBaseClass': <class
win32com.client.DispatchBaseClass at 0x027AD228>, 'ITDPropClass': <class
win32com.gen_py.F4503A16-F637-11D2-BD55-00500400405Bx0x1x0.ITDPropClass.ITDPropClass
at 0x028C46F8>, '__package__':
'win32com.gen_py.F4503A16-F637-11D2-BD55-00500400405Bx0x1x0', 'IID':
<built-in function IID>, 'LCID': 0, 'makepy_version': '0.5.01',
'__doc__': 'think3 thinkdesign Type Library', '__builtins__':
{'bytearray': <type 'bytearray'>, 'IndexError': <type
'exceptions.IndexError'>, 'all': <built-in function all>, 'help': Type
help() for interactive help, or help(object) for help about object.,
'vars': <built-in function vars>, 'SyntaxError': <type
'exceptions.SyntaxError'>, 'unicode': <type 'unicode'>,
'UnicodeDecodeError': <type 'exceptions.UnicodeDecodeError'>,
'memoryview': <type 'memoryview'>, 'isinstance': <built-in function
isinstance>, 'copyright': Copyright (c) 2001-2012 Python Software
Foundation.
All Rights Reserved.

Copyright (c) 2000 BeOpen.com.
All Rights Reserved.

Copyright (c) 1995-2001 Corporation for National Research Initiatives.
All Rights Reserved.

Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam.
All Rights Reserved., 'NameError': <type 'exceptions.NameError'>,
'BytesWarning': <type 'exceptions.BytesWarning'>, 'dict': <type 'dict'>,
'input': <function input at 0x02077570>, 'oct': <built-in function oct>,
'bin': <built-in function bin>, 'SystemExit': <type
'exceptions.SystemExit'>, 'StandardError': <type
'exceptions.StandardError'>, 'format': <built-in function format>,
'repr': <built-in function repr>, 'sorted': <built-in function sorted>,
'False': False, 'RuntimeWarning': <type 'exceptions.RuntimeWarning'>,
'list': <type 'list'>, 'iter': <built-in function iter>, 'reload':
<built-in function reload>, 'Warning': <type 'exceptions.Warning'>,
'__package__': None, 'round': <built-in function round>, 'dir':
<built-in function dir>, 'cmp': <built-in function cmp>, 'set': <type
'set'>, 'bytes': <type 'str'>, 'reduce': <built-in function reduce>,
'intern': <built-in function intern>, 'issubclass': <built-in function
issubclass>, 'Ellipsis': Ellipsis, 'EOFError': <type
'exceptions.EOFError'>, 'locals': <built-in function locals>,
'BufferError': <type 'exceptions.BufferError'>, 'slice': <type 'slice'>,
'FloatingPointError': <type 'exceptions.FloatingPointError'>, 'sum':
<built-in function sum>, 'getattr': <built-in function getattr>, 'abs':
<built-in function abs>, 'exit': Use exit() or Ctrl-Z plus Return to
exit, 'print': <built-in function print>, 'True': True, 'FutureWarning':
<type 'exceptions.FutureWarning'>, 'ImportWarning': <type
'exceptions.ImportWarning'>, 'None': None, 'hash': <built-in function
hash>, 'ReferenceError': <type 'exceptions.ReferenceError'>, 'len':
<built-in function len>, 'credits':     Thanks to CWI, CNRI, BeOpen.com,
Zope Corporation and a cast of thousands
     for supporting Python development.  See www.python.org for more
information., 'frozenset': <type 'frozenset'>, '__name__':
'__builtin__', 'ord': <built-in function ord>, 'super': <type 'super'>,
'TypeError': <type 'exceptions.TypeError'>, 'license': Type license() to
see the full license text, 'KeyboardInterrupt': <type
'exceptions.KeyboardInterrupt'>, 'UserWarning': <type
'exceptions.UserWarning'>, 'filter': <built-in function filter>,
'range': <built-in function range>, 'staticmethod': <type
'staticmethod'>, 'SystemError': <type 'exceptions.SystemError'>,
'BaseException': <type 'exceptions.BaseException'>, 'pow': <built-in
function pow>, 'RuntimeError': <type 'exceptions.RuntimeError'>,
'float': <type 'float'>, 'MemoryError': <type 'exceptions.MemoryError'>,
'StopIteration': <type 'exceptions.StopIteration'>, 'globals': <built-in
function globals>, 'divmod': <built-in function divmod>, 'enumerate':
<type 'enumerate'>, 'apply': <built-in function apply>, 'LookupError':
<type 'exceptions.LookupError'>, 'open': <built-in function open>,
'quit': Use quit() or Ctrl-Z plus Return to exit, 'basestring': <type
'basestring'>, 'UnicodeError': <type 'exceptions.UnicodeError'>, 'zip':
<built-in function zip>, 'hex': <built-in function hex>, 'long': <type
'long'>, 'next': <built-in function next>, 'ImportError': <type
'exceptions.ImportError'>, 'chr': <built-in function chr>, 'xrange':
<type 'xrange'>, 'type': <type 'type'>, '__doc__': "Built-in functions,
exceptions, and other objects.\n\nNoteworthy: None is the `nil' object;
Ellipsis represents `...' in slices.", 'Exception': <type
'exceptions.Exception'>, 'tuple': <type 'tuple'>,
'UnicodeTranslateError': <type 'exceptions.UnicodeTranslateError'>,
'reversed': <type 'reversed'>, 'UnicodeEncodeError': <type
'exceptions.UnicodeEncodeError'>, 'IOError': <type
'exceptions.IOError'>, 'hasattr': <built-in function hasattr>,
'delattr': <built-in function delattr>, 'setattr': <built-in function
setattr>, 'raw_input': <function raw_input at 0x02077530>,
'SyntaxWarning': <type 'exceptions.SyntaxWarning'>, 'compile': <built-in
function compile>, 'ArithmeticError': <type
'exceptions.ArithmeticError'>, 'str': <type 'str'>, 'property': <type
'property'>, 'GeneratorExit': <type 'exceptions.GeneratorExit'>, 'int':
<type 'int'>, '__import__': <built-in function __import__>, 'KeyError':
<type 'exceptions.KeyError'>, 'coerce': <built-in function coerce>,
'PendingDeprecationWarning': <type
'exceptions.PendingDeprecationWarning'>, 'file': <type 'file'>,
'EnvironmentError': <type 'exceptions.EnvironmentError'>, 'unichr':
<built-in function unichr>, 'id': <built-in function id>, 'OSError':
<type 'exceptions.OSError'>, 'DeprecationWarning': <type
'exceptions.DeprecationWarning'>, 'min': <built-in function min>,
'UnicodeWarning': <type 'exceptions.UnicodeWarning'>, 'execfile':
<built-in function execfile>, 'any': <built-in function any>, 'complex':
<type 'complex'>, 'bool': <type 'bool'>, 'ValueError': <type
'exceptions.ValueError'>, 'NotImplemented': NotImplemented, 'map':
<built-in function map>, 'buffer': <type 'buffer'>, 'max': <built-in
function max>, 'object': <type 'object'>, 'TabError': <type
'exceptions.TabError'>, 'callable': <built-in function callable>,
'ZeroDivisionError': <type 'exceptions.ZeroDivisionError'>, 'eval':
<built-in function eval>, '__debug__': True, 'IndentationError': <type
'exceptions.IndentationError'>, 'AssertionError': <type
'exceptions.AssertionError'>, 'classmethod': <type 'classmethod'>,
'UnboundLocalError': <type 'exceptions.UnboundLocalError'>,
'NotImplementedError': <type 'exceptions.NotImplementedError'>,
'AttributeError': <type 'exceptions.AttributeError'>, 'OverflowError':
<type 'exceptions.OverflowError'>, 'WindowsError': <type
'exceptions.WindowsError'>}, '__file__':
'C:\\Python27\\lib\\site-packages\\win32com\\gen_py\\F4503A16-F637-11D2-BD55-00500400405Bx0x1x0\\ITDPropClass.pyc',
'ITDPropClass_vtables_dispatch_': 1, '__name__':
'win32com.gen_py.F4503A16-F637-11D2-BD55-00500400405Bx0x1x0.ITDPropClass',
'pywintypes': <module 'pywintypes' from
'C:\Windows\system32\pywintypes27.dll'>, 'defaultNamedOptArg':
<PyOleEmpty object at 0x01E49980>, 'MajorVersion': 1, 'Dispatch':
<function Dispatch at 0x027BEDB0>, 'win32com': <module 'win32com' from
'C:\Python27\lib\site-packages\win32com\__init__.pyc'>, 'pythoncom':
<module 'pythoncom' from 'C:\Windows\system32\pythoncom27.dll'>}


Il 01/10/2012 03:41, Mark Hammond ha scritto:
On 28/09/2012 10:42 PM, Matteo Boscolo wrote:
this is the log of part of my application

DEBUG:root:__DEL__
DEBUG:root:pythoncom._GetInterfaceCount(): 4
DEBUG:root:pythoncom._GetGatewayCount():   0|
DEBUG:Root:pythoncom.CoUninitialize()|
DEBUG:root:pythoncom._GetInterfaceCount(): 4
DEBUG:root:pythoncom._GetGatewayCount():   0

as you can see the GetInterfaceCount is still at 4 ..
there is a way to know witch object are the 4 that came from the
GetInterfaceCount ?

Not directly - only a simple counter is tracked, not a list of what
the objects are.  If you are lucky, you might be able to use the 'gc'
module to locate all live objects and see what you can find alive that
"looks" like a COM object (but even that probably will not tell you
where the reference actually lives)

Mark


regards,
matteo



_______________________________________________
python-win32 mailing list
python-win32@python.org
http://mail.python.org/mailman/listinfo/python-win32





_______________________________________________
python-win32 mailing list
python-win32@python.org
http://mail.python.org/mailman/listinfo/python-win32

Reply via email to