frage zu win32com modul

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
bcit6k
User
Beiträge: 77
Registriert: Mittwoch 23. Juli 2008, 08:50

frage zu win32com modul

Beitragvon bcit6k » Donnerstag 24. Juli 2008, 13:14

Hallo,

ich habe eine Frage, ich lade eine com schnittstelle mit

Code: Alles auswählen

import win32com.client
geoip = win32com.client.Dispatch("GeoIPCOMEx.GeoIPEx")


hab ich da nun nur die quelle geöffnet?
muss ich zum verwenden noch einen befehl von win32com eingeben?

Danke
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Re: frage zu win32com modul

Beitragvon Leonidas » Donnerstag 24. Juli 2008, 13:28

Du hast nun eine Referenz auf das COM-Objekt. Darauf kannst du bereits alle Funktionen ausführen.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
bcit6k
User
Beiträge: 77
Registriert: Mittwoch 23. Juli 2008, 08:50

Beitragvon bcit6k » Donnerstag 24. Juli 2008, 21:05

ah, ok, danke!
bcit6k
User
Beiträge: 77
Registriert: Mittwoch 23. Juli 2008, 08:50

Beitragvon bcit6k » Freitag 25. Juli 2008, 06:28

gibt es einen befehl um raus zu finden welche funktionen diese schnitstelle bereit stellt?
Benutzeravatar
roschi
User
Beiträge: 225
Registriert: Samstag 29. März 2008, 18:58
Wohnort: Thueringen, Deutschland
Kontaktdaten:

Beitragvon roschi » Freitag 25. Juli 2008, 07:56

hallo!

wie waers mit 'dir(win32com.client.Dispatch)'

mfg
roschi
Fuer Alle, die in Python einsteigen wollen, kann ich das Buch A Byte of Python nur waermstens empfehlen!
bcit6k
User
Beiträge: 77
Registriert: Mittwoch 23. Juli 2008, 08:50

Beitragvon bcit6k » Freitag 25. Juli 2008, 08:14

danke, die funktion is total geil ,aber ich hab da mal ne frage.

ich verwende die funktion set_db_path, die taucht da bei der ausgabe aber nicht auf. wie kann das sien das ich eine funktion aufrufen kann die da gar nicht vor kommt? oder sind die wo anders abgespeichert?

die funktion lässt sich aufrufen gibt aber nur false zurück!

danke für eure hilfe!
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Freitag 25. Juli 2008, 11:14

bcit6k hat geschrieben:ich verwende die funktion set_db_path, die taucht da bei der ausgabe aber nicht auf. wie kann das sien das ich eine funktion aufrufen kann die da gar nicht vor kommt? oder sind die wo anders abgespeichert?

Weil ``dir()`` nur die Attribute via Introspection anzeigt, aber pywin32 keine Introspection bietet. Durch dynamischen Lookup ist es aber möglich auf Attribute zuzugreifen, die nicht statisch definiert sind.

Hier mal ein Beispiel, wo man auf Attribute zugreift, die innerhalb von ``dir()`` nicht existieren:

Code: Alles auswählen

In [4]: class D(object):
    def __getattr__(self, name):
        if name == 'set_db_path':
            def f():
                print 'DB-PATH'
            return f
        raise AttributeError()
   ....:
In [11]: d = D()
In [12]: print dir(d)
['__class__', '__delattr__', '__dict__', '__doc__', '__getattr__', '__getattribute__',
'__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__',
'__repr__', '__setattr__', '__str__', '__weakref__']
In [13]: d.set_db_path()
DB-PATH
My god, it's full of CARs! | Leonidasvoice vs Modvoice
bcit6k
User
Beiträge: 77
Registriert: Mittwoch 23. Juli 2008, 08:50

Beitragvon bcit6k » Freitag 25. Juli 2008, 11:24

super, danke :)

das werd ich mir sofort rein ziehen!

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder