Re: [Python] Chiamare metodi ocx

2013-04-24 Per discussione Marco Beri
2013/4/24 Alberto Abate 

> Allora, ho studiato un po' e ho capito che per chiamare quei metodi
> dell'ocx ho bisogno di un ActiveX container.
> Posso usare quello di pythonwin, quindi mi sono guardato un po' gli esempi
> ocx nella cartella:
> C:\Python27\Lib\site-packages\pythonwin\pywin\Demos\ocx
> ma soprattutto evito di buttarmi giù da un ponte... per questa volta ;-))
>

Fantastico! :-)

Ciao.
Marco.

-- 
http://beri.it/ - Un blog
http://beri.it/i-miei-libri/ - Qualche libro
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Chiamare metodi ocx

2013-04-24 Per discussione Alberto Abate
Per completezza vi segnalo questo link:

http://www.wiredfool.com/2006/11/18/python-and-com-components/

Credo sia la soluzione che adotterò.
Il ragazzo sicuramente ne sa molto più di me.
Saluti a tutti
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Chiamare metodi ocx

2013-04-24 Per discussione Alberto Abate
Allora, ho studiato un po' e ho capito che per chiamare quei metodi
dell'ocx ho bisogno di un ActiveX container.
Posso usare quello di pythonwin, quindi mi sono guardato un po' gli esempi
ocx nella cartella:

C:\Python27\Lib\site-packages\pythonwin\pywin\Demos\ocx

e ho partorito questo mostro: http://pastebin.com/ftGFqPmR
Ovviamente è solo un test, ma sono riuscito a chiamare la funzione Open:



   1. def OnOK(self):
   2. ris = self.olectl.Open('PORT = 1')
   3. print 'PORTA APERTA','RIS',ris
   4. if ris == 0:
   5. self.olectl.Close()
   6. print 'PORTA CHIUSA',self.olectl.Close


ma soprattutto evito di buttarmi giù da un ponte... per questa volta ;-))
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Chiamare metodi ocx

2013-04-23 Per discussione Matteo Boscolo

Con m$ tutto e' possibile ..

a volte quando non mi va com python provo con un esempietto vbs .. se 
non altro la messaggistica sembra migliore .. anche se di poco :))


ciao,
Matteo

Il 23/04/2013 11:53, Alberto Abate ha scritto:


L'errore non cambia? Hai provato a chiamarlo senza parametri?

Marco


no, ho prato anche senza parametri.
Nei miei giri sulla rete leggo che forse alcuni ActiveX hanno bisogno 
di un'interfaccia grafica...

Possibile?


___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Chiamare metodi ocx

2013-04-23 Per discussione Marco Beri
2013/4/23 Alberto Abate 

>  L'errore non cambia? Hai provato a chiamarlo senza parametri?
>> Marco
>>
>
> no, ho prato anche senza parametri.
> Nei miei giri sulla rete leggo che forse alcuni ActiveX hanno bisogno di
> un'interfaccia grafica...
> Possibile?
>

Sì, potrebbe anche essere. Ma in questo caso credo veramente ci sia poco da
fare. Si aspettano un form VB o robe simili per cui sei in un vicolo cieco.

Non esiste una versione in DLL?
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Chiamare metodi ocx

2013-04-23 Per discussione Alberto Abate
> L'errore non cambia? Hai provato a chiamarlo senza parametri?
>
> Marco
>

no, ho prato anche senza parametri.
Nei miei giri sulla rete leggo che forse alcuni ActiveX hanno bisogno di
un'interfaccia grafica...
Possibile?
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Chiamare metodi ocx

2013-04-23 Per discussione Marco Beri
2013/4/23 Alberto Abate 

> Hai qualche ponte da consigliarmi? ;-))
>

AHAHA :-)

L'errore non cambia? Hai provato a chiamarlo senza parametri?

Ciao.
Marco.

-- 
http://beri.it/ - Un blog
http://beri.it/i-miei-libri/ - Qualche libro
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Chiamare metodi ocx

2013-04-23 Per discussione Alberto Abate
Hai qualche ponte da consigliarmi? ;-))


Il giorno 23 aprile 2013 11:29, Marco Beri  ha scritto:

> 2013/4/23 Alberto Abate 
>
>> Ciao,
>> sto cercando di usare un ocx (CoEcrCom.ocx) in python 2.7
>> E' un driver per registratori di cassa e ho del codice in VB funzionante.
>> versionid l'ho trovato nel registro di windows e
>> import win32com.client
>> ocx = win32com.client.Dispatch(versionid)
>> ris = ocx.Open('PORT = 1')
>> Quando chiamo il metodo Open, ma anche per altri, ottengo l'errore
>> seguente:
>> com_error: (-2147418113, 'Errore irreparabile', None, None)
>> la stringa 'PORT = 1' nel codice VB indica l'apertura di una porta
>> virtuale che comunica con un software SoEcrCom che ovviamente avvio prima
>> dello script.
>> Avete qualche suggerimento in merito?
>> Sono assolutamente bloccato...
>>
>
> Sparando assolutamente nel buio io proverei con:
> ris = ocx.Open('1')
>
> Poi con:
> ris = ocx.Open(1)
>
> Poi con:
> ris = ocx.Open(PORT='1')
>
> Infine con:
> ris = ocx.Open(PORT=1)
>
> Quindi mi getterei da un ponte.
>
> Ciao.
> Marco.
>
> --
> http://beri.it/ - Un blog
> http://beri.it/i-miei-libri/ - Qualche libro
>
>
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
>
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Chiamare metodi ocx

2013-04-23 Per discussione Marco Beri
2013/4/23 Alberto Abate 

> Ciao,
> sto cercando di usare un ocx (CoEcrCom.ocx) in python 2.7
> E' un driver per registratori di cassa e ho del codice in VB funzionante.
> versionid l'ho trovato nel registro di windows e
> import win32com.client
> ocx = win32com.client.Dispatch(versionid)
> ris = ocx.Open('PORT = 1')
> Quando chiamo il metodo Open, ma anche per altri, ottengo l'errore
> seguente:
> com_error: (-2147418113, 'Errore irreparabile', None, None)
> la stringa 'PORT = 1' nel codice VB indica l'apertura di una porta
> virtuale che comunica con un software SoEcrCom che ovviamente avvio prima
> dello script.
> Avete qualche suggerimento in merito?
> Sono assolutamente bloccato...
>

Sparando assolutamente nel buio io proverei con:
ris = ocx.Open('1')

Poi con:
ris = ocx.Open(1)

Poi con:
ris = ocx.Open(PORT='1')

Infine con:
ris = ocx.Open(PORT=1)

Quindi mi getterei da un ponte.

Ciao.
Marco.

-- 
http://beri.it/ - Un blog
http://beri.it/i-miei-libri/ - Qualche libro
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python