[Python] ApiCom Error

2011-01-06 Per discussione Matteo Boscolo

Ciao A tutti,
e' da più di un giorno che cerco di risolvere questo problema, qualsiasi 
aiuto sarebbe apprezzatissimo.

Vi spiego la situazione.
ho due script test e test1 che trovate a fondo mail,
lo script test definisce un serverCom.
se lo eseguo da python, non ci sono errori e lo script fa esattamente 
quello che gli viene richiesto di fare.
se invece chiamo il mio script da del codice c# ,(che trovate sempre in 
fondo alla mail), l'esecuzionde del codice mi ritorna un errore.
dopo attente analisi mi sono accorto che se uso il codice c# compilando 
con l'opzione anyCpu, (la mia macchina e' a 64 bit), il codice si 
schianta quando vado ad utilizzare il metodo :

 def comInit(self,obj=None):  # < qui gli passo una stringa "pippo"
self._test1=test1.test1(obj)
e precisamente quando tenta di istanziare la classe test1

l'errore non si verifica se compilo il codice c# utilizzando l'opzione 
32Bit.(Questa soluzione non la posso utilizzare, in quanto la mia classe 
com verra istanziata da un applicazione che non ho sviluppato io)


la cosa strana e che il metodo Now, non si schianta mai ..

Sapete come risolvere questo problema, o almeno darmi qualche consiglio?

Grazie mille ..
Matteo

#test
from win32com.server.util import unwrap, wrap
import test1

class test(object):
"""
The main client application
"""
_reg_clsid_ =   "{F92FB064-0B23-4AE7-BE1A-79DD8B820100}"
_reg_desc_ ="test module"
_reg_progid_ =  "test.application"
_public_methods_ = ['comInit','Now','GetIstance']
def __init__(self):
self._test1=None
def comInit(self,obj=None):
self._test1=test1.test1(obj)

def Now(self,msg):
return"Now" +str(msg)
def GetIstance(self):
return str(self._test1.getArg())

#o:=newObj('test.application')
#o->Now("ciao")
#o->comInit("aa")

if __name__=='__main__':
import win32com.server.register
win32com.server.register.UseCommandLine(test)
t=test()
t.Now("now  ")
t.comInit("aa")
print t.GetIstance()
print "Test Done"

#Test1
class test1:
def __init__(self,arg=None):
self._arg=arg
def getArg(self):
return "done "+str(self._arg)


//c# code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Reflection;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
object obj = Activator.CreateInstance
(Type.GetTypeFromProgID("test.Application"));
object[] objArgs = new object[1];
objArgs[0] = "ciao";
obj.GetType().InvokeMember("comInit",
BindingFlags.InvokeMethod, null, obj, objArgs);

object ret=obj.GetType().InvokeMember("Now",
BindingFlags.InvokeMethod, null, obj, objArgs);

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


Re: [Python] Bella la firma (Was: Turbopascal??)

2011-01-06 Per discussione Carlos Catucci
> L'ultima non mi sembra un caso di Orrore orCografico, ergo si tratta di
una

> > religione forse anche piu' interessante dell'originale (io non fumo).
>
> 
>

Come direbbe Homer Simpson: "Mitico!"

Greetings
JOKER Ltd.
-- 
Ho guardato in alto, oltre le insegne illuminate e, obliqua su un
grattacielo, c'era la luna. Le ho detto:
"Cosa ci fa una ragazza come te in un posto come questo?"
(*Stefano Benni* - Baol )
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Bella la firma (Was: Turbopascal??)

2011-01-06 Per discussione Carlo Miron
2011/1/6 Carlos Catucci :
> 2011/1/6 Marco Beri 
>> > Comunque fair play gente, niente guerre di religione, il fatto che il
>> > dibattito nasca su una ML python implica che siamo tutti "cavalieri del
>> > bene" in un certo qual modo :)
>>
>> +1 :-)
>>
>> Ciao.
>> Lancillotto.
>> Pythonista.
>> Pastafariano.
>
> L'ultima non mi sembra un caso di Orrore orCografico, ergo si tratta di una
> religione forse anche piu' interessante dell'originale (io non fumo).



©
-- 
Carlo Miron
RAmen Bro' Solution Architect™
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] Bella la firma (Was: Turbopascal??)

2011-01-06 Per discussione Carlos Catucci
2011/1/6 Marco Beri 


> > Comunque fair play gente, niente guerre di religione, il fatto che il
> dibattito nasca su una ML python implica che siamo tutti "cavalieri del
> bene" in un certo qual modo :)
>
> +1 :-)
>
> Ciao.
> Lancillotto.
> Pythonista.
> Pastafariano.
>

L'ultima non mi sembra un caso di Orrore orCografico, ergo si tratta di una
religione forse anche piu' interessante dell'originale (io non fumo).

Greetings
 JOKER Ltd.
-- 
Ho guardato in alto, oltre le insegne illuminate e, obliqua su un
grattacielo, c'era la luna. Le ho detto:
"Cosa ci fa una ragazza come te in un posto come questo?"
(*Stefano Benni* - Baol )
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Turbopascal??

2011-01-06 Per discussione Carlos Catucci
2011/1/6 enrico franchi 

> L'unico *singolo* motivo che possono trovare difficile in Python e'
> l'indentazione. Ma passate due lezioni e' un vantaggio: almeno ometti
> che ogni volta che ti fanno una domanda sul sorgente devi prima
> passarlo per un indentatore.
>
> Ho visto *di tutto*. E un buon terzo degli errori che non sanno
> trovare sarebbero apparenti con una bella indentazione.
>
> Ti quoterei interamente ma basta questo ultimo passaggio per avviare il
processo di canonizzazione.

Greetings
JOKER Ltd.
-- 
Ho guardato in alto, oltre le insegne illuminate e, obliqua su un
grattacielo, c'era la luna. Le ho detto:
"Cosa ci fa una ragazza come te in un posto come questo?"
(*Stefano Benni* - Baol )
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Turbopascal??

2011-01-06 Per discussione Carlos Catucci
2011/1/6 Roberto De Ioris 

Quindi il perlista medio per mantenere un po' di autostima si sforzera' in
> tutti i modi di scrivere nella maniera piu' incomprensibile possibile,
> ergo
> trattandosi di religione (e quindi al di fuori di ogni logica) posso
> affermare con assoluta certezza che il codice perl deve essere write only,
> se non lo e' allora e' blasfemia e/o eresia :P
>
> Ora vado a confessarmi.
>

Questa la devo far leggere ad un collega perlista che ogni tanto, come
l'altro rubysta, afferma: "sono finito in una faossa di pythonisti"

Greetings
JOKER Ltd.
-- 
Ho guardato in alto, oltre le insegne illuminate e, obliqua su un
grattacielo, c'era la luna. Le ho detto:
"Cosa ci fa una ragazza come te in un posto come questo?"
(*Stefano Benni* - Baol )
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Turbopascal??

2011-01-06 Per discussione Marco Beri
On 06/gen/2011, at 14:55, Carlos Catucci  wrote:

> Comunque fair play gente, niente guerre di religione, il fatto che il 
> dibattito nasca su una ML python implica che siamo tutti "cavalieri del bene" 
> in un certo qual modo :) 

+1 :-)

Ciao.
Lancillotto.
Pythonista.
Pastafariano.



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


Re: [Python] Turbopascal??

2011-01-06 Per discussione Carlos Catucci
On 6 January 2011 09:59, Nicola Larosa  wrote:

> > Diciamola bene: il Perl e` write only tanto quanto gli altri
> > linguaggi, sta al programmatore scrivere codice umanamente leggibile
>
> Sì, e il papa crede in dio, la polizia ti protegge, garibaldi era un
> eroe, e la scuola ti dà gli strumenti culturali per blah blah blah.
>
> Se proprio devi sparare cazzate, almeno sparale grosse. ;-)
>

Beh piccola non era :)

Comunque fair play gente, niente guerre di religione, il fatto che il
dibattito nasca su una ML python implica che siamo tutti "cavalieri del
bene" in un certo qual modo :)

Greetings
JOKER Ltd.
-- 
Ho guardato in alto, oltre le insegne illuminate e, obliqua su un
grattacielo, c'era la luna. Le ho detto:
"Cosa ci fa una ragazza come te in un posto come questo?"
(*Stefano Benni* - Baol )
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Turbopascal??

2011-01-06 Per discussione Carlos Catucci
2011/1/6 Enrico 'Henryx' Bianchi 

Diciamola bene: il Perl e` write only tanto quanto gli altri linguaggi, sta
> al
> programmatore scrivere codice umanamente leggibile
>

Ok, diciamo che se per scrivere codice leggibile in Python serve uno sforzo
pari a 1, per farlo in perl serve uno sforzo pari a 100. Suona meglio?

Greetings
JOKER Ltd.
-- 
Ho guardato in alto, oltre le insegne illuminate e, obliqua su un
grattacielo, c'era la luna. Le ho detto:
"Cosa ci fa una ragazza come te in un posto come questo?"
(*Stefano Benni* - Baol )
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Turbopascal??

2011-01-06 Per discussione Giorgio Zoppi
Il 05 gennaio 2011 22:01, Pietro Battiston  ha scritto:
> Il giorno mer, 05/01/2011 alle 17.54 +0100, Vittorio Zuccala' ha
> scritto:
>> Il giorno 05 gennaio 2011 15:56, Carlo Miron  ha
>> scritto:
>>
>>         Io lavoro (ben) piu` di 8h al giorno davanti ad un PC, ed ehm
>>         ritengo
>>         di averne una certa confidenza. Ma magari non so concatenare
>>         due "SE"
>>         in Excel. E` grave, dottore? :)
>>
>> No no no: ed è proprio questa il punto.
>> Molti miei colleghi che programmano su AS400 ogni giorno non sanno
>> concatenare due SE excel
>> ma se gli spiego la sintassi in 30 secondi ne concatenano anche 10
>> perchè conoscono il concetto che
>> vi sta alle spalle, il VERO o FALSO etc etc.
>> L'utente che passa 8h/giorno davanti al PC ed ancor di più un bambino,
>> questo concetto non lo hanno.
>> Per questo motivo concordo con chi dice che uno strumento di
>> programmazione vale l'altro.
>>
>
>
> Non concordo con questo punto di vista.
>L'idea che si debba pensare in
>termini di oggetti e algoritmi e solo dopo tradurre in un qualsiasi
>linguaggio è affascinante

Confucio un giorno disse: se in riva al fiume vedi qualcuno che ha
fame non regalargli un pesce ma insegnali a pescare. Che io so ogni
linguaggio è un tool, con le sue specificità
e la conoscenza di un linguaggio è un processo iterativo, che se
l'utente è interessato
deve approffondire da SOLO. Al mondo abbiamo un sacco di metodolgie di
programmazione (da qui modello):
- OOP
- MetaProgrammazione e Programmazione Generica
- Aspect Oriented Programing
- Functional Programming
- Programmazione strutturata
ecc..
In un corso è importante scegliere uno o piu modelli e illustrarlo con
un linguaggio che permetta di applicare i principi dei modelli che si
vuole usare. Se ci pensi
un eseguibile viene prodotto anche da 1 righe di codice dentro il
main senza subroutine o oggetti, ma poi quando devi cambiare qualcosa?
La prima cosa che
secondo me uno dovrebbe pensare, è scrivere programmi che facciano
fronte ai cambiamenti perche spesso i requisiti cambiano in corsa, e
manco te ne accorgi:)
Quindi risulta MOLTO piu importante la forma-mentis che il linguaggio.
Uno dovrebbe
usare il linguaggio che gli piace di piu e che conosce meglio ove possibile,
per quanto detto in: http://www.paulgraham.com/pypar.html (The Python Paradox).

Just 1 cent,
Giorgio.


-- 
Quiero ser el rayo de sol que cada día te despierta
para hacerte respirar y vivir en me.
"Favola -Moda".
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Turbopascal??

2011-01-06 Per discussione enrico franchi
2011/1/5 Vittorio Zuccala' :

> Ebbene, vi pongo una semplice domanda: quanti di voi sono insegnanti o hanno
> avuto esperienze come docenti nel campo informatico?

Scusa... per dirne uno Daniele ha detto chiaramente che insegna e ha
dichiarato che ha scoperto che Python rende il tutto migliore. Anche
altre persone (me incluso) hanno detto di avere avuto esperienze a
riguardo e che Python sarebbe stato desiderato. Il che mi fa pensare
che hai letto il thread *mlto* di sfuggita.

> Avete mai provato a spiegare un "SE" concatenato ad un altro "SE" per
> esempio su Excel ad una platea di almeno una quindicina di alunni che magari
> lavorano quotidianamente sul PC?

In Excel? Mai. E' del cioccolato?

> Se la risposta è si allora penso che la conclusione sia "W qualsiasi
> linguaggio; anche TurboPascal"

Sono brutte le discussioni del tipo "se hai esperienza, la pensi come me".
Specie quando non e' vero.

Tanto per dirne una, quando spieghi cosa sia un if sono d'accordo che
non serva Python. Ma non serve nemmeno Pascal o un linguaggio. Glielo
fai capire a *parole*. Eventualmente con schemi (ho sempre odiato i
diagrammi di flusso, ma queste sono esattamente le cose per cui vanno
bene).

Quello e' insomma un problema *diverso*. Poi appena lo vuoi applicare,
in Python non devi compilare (non devi spiegargli cosa sia la
compilazione, le unita' di traduzione, cazzi e mazzi). Butti dentro
direttamente nell'interprete interattivo. E' sconvolgente quanto
semplicemente allontanarsi dal modello compila esegui renda le cose
piu' veloci.

L'unico *singolo* motivo che possono trovare difficile in Python e'
l'indentazione. Ma passate due lezioni e' un vantaggio: almeno ometti
che ogni volta che ti fanno una domanda sul sorgente devi prima
passarlo per un indentatore.

Ho visto *di tutto*. E un buon terzo degli errori che non sanno
trovare sarebbero apparenti con una bella indentazione.


> Se la risposta è no allora sono convinto che "Python e solo python può
> insegnare a programmare" possa essere una delle soluzioni alla questione.

Peggio ancora! "La pensi cosi' solo perche' non sai quello di cui si parla."


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


Re: [Python] excel OpenOffice

2011-01-06 Per discussione Alessandro Dentella
On Wed, Jan 05, 2011 at 08:04:46PM +0100, Filippo Dal Bosco - wrote:
> Ho provato xlrd ed xlwr. Purtroppo quando si copia un file.xls non
> viene copiato tutto ma una parte.
> 
> So che  OpenOffice  è accompagnato da  API per python. In questo
> caso se si copia un foglio  di calcolo  OO si copia tutto? O come con
> excel si copia una parte ?

Con Openoffice puoi usare Python in due modi:

 * Attraverso il modulo 'uno' di Python ti puoi connettere ad una istanza di
   openoffice che sia in ascolto su una porta e puoi fare praticamente ogni
   operazione, fra cui il copia incolla di un documento (anche con formule e
   stile) 

 * Creare macro in Python, che si connettono alle api 'uno'

Nessuno di questi due casi è analogo a quello dei moduli xlrd/xlwr, in
quanto richiedono che ci sia una istanza di OpenOffice attiva (che però può
anche essere su un server remoto ed in modalità headless).

Le api 'uno' non sono a mio avviso facili ma sono sicuramente molto
potenti. Consiglio se devi dedicarci del tempo di leggere la Basic Programming
Guide [1] che ha un capitolo proprio dedicato alla introduzione delle API.


sandro
*:-)




[1] http://wiki.services.openoffice.org/wiki/IT/Documentation/BASIC_Guide
-- 
Sandro Dentella  *:-)
http://www.reteisi.org Soluzioni libere per le scuole
http://sqlkit.argolinux.orgSQLkit home page - PyGTK/python/sqlalchemy
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Turbopascal??

2011-01-06 Per discussione Roberto De Ioris

> On Wednesday 05 January 2011 17:15:13 Carlos Catucci wrote:
>

>
>> Il Perl e' write only.
>
> Diciamola bene: il Perl e` write only tanto quanto gli altri linguaggi,
> sta al
> programmatore scrivere codice umanamente leggibile
>
>


Probabilmente e' vero, ma io vengo dal Perl (e' stato il primo linguaggio
con cui ho lavorato ed e' ancora pesantemente usato nella mia azienda per
la programmazione di sistema) e la prima cosa che mi ha insegnato il mio
capo dell'epoca (un perlista con i controcazzi) e' stata:

"""Il perl e' una religione, e il dogma e' "sii write only", piu' sei
write-only piu' il tuo perl-pene sara' grande agli occhi degli altri
perlisti."""

Quindi il perlista medio per mantenere un po' di autostima si sforzera' in
tutti i modi di scrivere nella maniera piu' incomprensibile possibile,
ergo
trattandosi di religione (e quindi al di fuori di ogni logica) posso
affermare con assoluta certezza che il codice perl deve essere write only,
se non lo e' allora e' blasfemia e/o eresia :P

Ora vado a confessarmi.

-- 
Roberto De Ioris
http://unbit.it
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Turbopascal??

2011-01-06 Per discussione enrico franchi
2011/1/6 Enrico 'Henryx' Bianchi :


> Il Pascal gestisce i puntatori (come tutti i linguaggi compilati, da quello
> che ho visto), cosi` come gestisce l'ASM inline.

Il pascal (di wirth) gestisce i puntatori ma non ha l'aritmetica dei puntatori.
Ovvero puoi farti dare l'indirizzo di un oggetto, ma poi non puoi
andare a spasso nella memoria.
Con il linguaggio moderno, diremmo che sono delle reference.

Per quello che ricordo, FreePascal (e immagino altri) come estensione
aggiunge anche l'aritmetica dei puntatori. Ma siamo nel caso
dell'implementazione. C non ha nested functions (Pascal si, per
inciso), gcc si.


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


Re: [Python] Turbopascal??

2011-01-06 Per discussione enrico franchi
2011/1/5 Manlio Perillo :

> Ne ho scritto uno io, ma è troppo grosso per allegarlo in questa email
> (dato che il mio ISP mette un limite sulle dimensioni delle email) :).

Prova a scriverlo nel *bordo* dell'email. :)


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


Re: [Python] Turbopascal??

2011-01-06 Per discussione Nicola Larosa
> Carlos Catucci wrote:
>> Il Perl e' write only.

Enrico 'Henryx' Bianchi wrote:
> Diciamola bene: il Perl e` write only tanto quanto gli altri
> linguaggi, sta al programmatore scrivere codice umanamente leggibile

Sì, e il papa crede in dio, la polizia ti protegge, garibaldi era un
eroe, e la scuola ti dà gli strumenti culturali per blah blah blah.

Se proprio devi sparare cazzate, almeno sparale grosse. ;-)

-- 
Nicola Larosa - http://www.tekNico.net/

Collectively, we will eventually figure out that schools, as currently
structured, cost way too much, teach irrelevant material, have the op-
posite education effect for most of the students, crowd out more benef-
icial activities, break up families, and even create a long term effect
similar to a mild but long term post-traumatic stress disorder.
 - Clark Aldrich, August 2010
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] excel OpenOffice

2011-01-06 Per discussione Filippo Dal Bosco -
Il giorno Thu, 6 Jan 2011 09:09:19 +0100
simozack  ha scritto:

> > Ho provato xlrd ed xlwr. Purtroppo quando si copia un file.xls non
> > viene copiato tutto ma una parte.
> 
> Hai provato col package xlutils? Maggiori info su
> www.python-excel.org.

certo. Senza le xlutils non si riesce a copiare e salvare un file.xls.

Il sistema per modificare file esistenti è

leggo il file (xlrd), lo copio(xlutil) lo modifico(xlwr) lo salvo
(xlutil)

Ma facendo questo si perdono molte cose ad esempio le formule.

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


Re: [Python] excel OpenOffice

2011-01-06 Per discussione simozack
Il 05 gennaio 2011 20:04, Filippo Dal Bosco -
 ha scritto:

> Ho provato xlrd ed xlwr. Purtroppo quando si copia un file.xls non
> viene copiato tutto ma una parte.

Hai provato col package xlutils? Maggiori info su www.python-excel.org.

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