Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Active x et python

4 réponses
Avatar
vml
Bonjour a tous,


Je suis assez nouveau en programmation et en python et j'essaye de
promouvoir ce language dans ma boite mais j'ai des lacunes :

-j'ai un serveur COM activeX proprietaire
- je veux realiser exactement ce que les gens (moi) realise
actuellement en vb 6 avec python
-gui avec activeX
-automatisation de process

L'applocation que j'essaye d'automatiser a un COM serveur et j'ai le
choix :

-soit de la lancer pour avoir acces a toutes les objest et les
methodes du serveur COM
-soit de ne pas lancer l'application mais juste un activex control
(activex module loader) qui affiche un bitmap dans une form VB ....

le code VB est alors :


Dim module As Automation.IModule

Dim myBlock as Automation.IBlock2

Dim myDatabase As Automation.IDatabase

Set module = ActiveXModuleLoader1.module

myDatabase = module.Database("C:/LmsLocal/Data/myproj.lms")

Je ne sais malheureusement pas comment on fait cette operation en
python avec win32com :

Set module = ActiveXModuleLoader1.module

Il faut un ActiveXModuleLoader1, j'ai reussi a l'invoquer via un
fichier ocx que j'ai trouve mais apparemment ca plante :

I can have a ModuleLoader._DActiveXModuleLoader running under python
without GUI but when you call the .module method of this object it
crashes.... :



Traceback (most recent call last):

File "<interactive input>", line 1, in <module>

File "D:\soft\python25\lib\site-packages\win32com\client
\__init__.py", line 458, in __getattr__

return self._ApplyTypes_(*args)

File "D:\soft\python25\lib\site-packages\win32com\client
\__init__.py", line 451, in _ApplyTypes_

dispid, 0, wFlags, retType, argTypes, *args),

com_error: (-2147418113, 'Catastrophic failure', None, None)


Je suppose que j'ai vraiment besoin d'un gui du style wx python et je
devrai embarquer le controle activex ....


Une idee ?


Merci

4 réponses

Avatar
MCI, Shadok Gouroudoudou
Bonsoir !

Le syntaxe serait plutôt du genre :
import win32com.client
module = win32com.client.Dispatch('xxxx.yyyyyyy')

ou, avec le CLSID :
import win32com.client
module = win32com.client.Dispatch('{XXXXXX-XXXX-XXXX-XXXXXXXXXXXX}')

Normalement, avec le CLSID, on récupère une liste des instances en
cours d'exécution.

Mais, j'espère que tu n'utilises des Active-X avec des aspects visuels.
Car alors, la problématique serait toute autre.










--
@-salutations

Michel Claveau
Avatar
vml
On 27 avr, 21:40, MCI, Shadok Gouroudoudou wrote:
Bonsoir !

Le syntaxe serait plutôt du genre :
import win32com.client
module = win32com.client.Dispatch('xxxx.yyyyyyy')

ou, avec le CLSID :
import win32com.client
module = win32com.client.Dispatch('{XXXXXX-XXXX-XXXX-XXXXXXXXXXXX}')

Normalement, avec le CLSID, on récupère une liste des instances en
cours d'exécution.

Mais, j'espère que tu n'utilises des Active-X avec des aspects visuels.
Car alors, la problématique serait toute autre.

--
@-salutations

Michel Claveau


Merci pour votre reponse !

En fait j'arrive parfaitement a appeler des objets COM avec python
lorsque l'application tourne.
Quand l'application ne tourne pas j'arriva a les appeler mais toutes
les methodes des objets ne sont pas disponibles ... c'est apparement
du au fait que toutes les dll ne sont accessible si l'application ne
tounre pas.
La solution alors serait de faire appelle au module loader qui est
activex visuel !!! et de cacher le bitmap genere par l'active X.
Je voudrais eviter de faire toruner l'application pour des raisons de
rapidite et de en pas avoir des processus fantomes mais tout en
concervant toutes les methodes de ttes les objets.


Une deuxieme question est lies au module generes par makepy ... quels
objets peuvent etre generes ? seuls les objets appeles coclass ou
aussi les objets Dispatch ?

Une troisieme question est de savoir comment on peut integrer un
active X visuel dans du code python avec wxpython ? avec un autre
appli ?


Une quatrieme et derniere question est la suivante :

est-t-il possible de mixer vb et python? car cela serait la
solaution a une partie de mes problemes .... explication tel que je la
vois:
-gui et gestion active X COM avec vb (6 eventuellement C # ou
VB.net sinon )
- plot et language scientifique avec python scipy et
matplotlib .....


Merci beaucoup pour vos reponses !

Avatar
MCI, Shadok Gouroudoudou
Bonsoir !

Oulà ! Que de questions !


Une deuxieme question


J'ai pas vu la première ; desolé.


est lies au module generes par makepy ... quels objets peuvent etre
generes ? seuls les objets appeles coclass ou les objets Dispatch ?


Là, je ne comprends pas. Je n'utilise pas ces termes.
Je sais que seuls les objets décrits dans les TLB sont reconnus par
makepy (ce qui fait que makepy ne sait pas travailler avec les
serveurs-COM en Python ; un comble compréhensible, car les serveurs-COM
en Python sont dynamiques).

Bref, ilm arrive souvent que l'on ait plus d'informations dans les
docs, qu'avec makepy. En exemple-type, c'est OpenOffice.org.


Une troisieme question est de savoir comment on peut integrer un
active X visuel dans du code python avec wxpython ? avec un autre
appli ?


Avec WxPython, je sais que c'est possible. Il y a même un exemple
fourni.

Mais WxPython, c'est (très) gros, (très) complet, (très) puissant, et
très lourd.

Un autre GUI, qui permet de gérer les Active-X, c'est PLUIE.
PLUIE est léger, facile à utiliser, beau, puissant, très beau,
exellent, mais je n'ai pas encore eu le temps de le terminer ( voir :
http://ponx.org/ponx/guie)


Une quatrieme et derniere question est la suivante :
est-t-il possible de mixer vb et python ?


Oui, il suffit d'appeler Python via un serveur COM ; voir, par exemple
Ponx (http://ponx.org)

Mais, quel VB ? Une des anciennes versions abandonnées par MS ? ou
alors VB.Net ? A moins qu'il n'y ait confusion avec VBS, ou VBA ?






--
@-salutations

Michel Claveau

Avatar
vml
On 28 avr, 22:59, MCI, Shadok Gouroudoudou wrote:
Bonsoir !

Oulà ! Que de questions !

Une deuxieme question


J'ai pas vu la première ; desolé.

est lies au module generes par makepy ... quels objets peuvent etre
generes ? seuls les objets appeles coclass ou les objets Dispatch ?


Là, je ne comprends pas. Je n'utilise pas ces termes.
Je sais que seuls les objets décrits dans les TLB sont reconnus par
makepy (ce qui fait que makepy ne sait pas travailler avec les
serveurs-COM en Python ; un comble compréhensible, car les serveurs-COM
en Python sont dynamiques).

Bref, ilm arrive souvent que l'on ait plus d'informations dans les
docs, qu'avec makepy. En exemple-type, c'est OpenOffice.org.


alors effectivement j'ai la doc mais elle est loin d'etre exaustive !








Une troisieme question est de savoir comment on peut integrer un
active X visuel dans du code python avec wxpython ? avec un autre
appli ?


Avec WxPython, je sais que c'est possible. Il y a même un exemple
fourni.

Mais WxPython, c'est (très) gros, (très) complet, (très) puissant, et
très lourd.

Un autre GUI, qui permet de gérer les Active-X, c'est PLUIE.
PLUIE est léger, facile à utiliser, beau, puissant, très beau,
exellent, mais je n'ai pas encore eu le temps de le terminer ( voir :http ://ponx.org/ponx/guie)



ca me parait tres interessant je regarde de suite !!



Une quatrieme et derniere question est la suivante :
est-t-il possible de mixer vb et python ?


Oui, il suffit d'appeler Python via un serveur COM ; voir, par exemple
Ponx (http://ponx.org)

Mais, quel VB ? Une des anciennes versions abandonnées par MS ? ou
alors VB.Net ? A moins qu'il n'y ait confusion avec VBS, ou VBA ?



Oui c'est une ancienne version de VB : VB 6 .... mopn objectif est de
faire migrer de vb 6 vars python !




--
@-salutations

Michel Claveau




Merci bcp !