Re: [Python] Chiamare metodi ocx
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
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
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
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/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
> 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/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
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/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