2015-03-08 1:23 GMT+01:00 Alessandro Re <a...@ale-re.net>: > Ciao lista, > > ho un problema con delle callback, e sapendo che ci sono sistemi in > cui si usano molto (e.g. in ambito web), magari qualcuno di voi mi può > illuminare (scusate, il post è un po' lungo). > > Ho degli oggetti python che fanno riferimento a degli oggetti C++, > quindi a volte mi trovo nella situazione in cui un oggetto C++ viene > distrutto e, se l'oggetto python esiste ancora e cerca di far > riferimento ad esso, provoca - giustamente - errore. > > Cosa usi per interfacciarti con codice C++? Che errore ottieni?
Non so se è un uso corretto, ma puoi provare ad usare una weakref, oppure qualcosa di simile personalizzato. > Ora, dal lato python ho delle callback per gestire degli eventi che > arrivano da C++: quando un certo evento accade, una funzione python > viene chiamata. > > Quindi immaginate ... > > [...] Troppo complesso, passo. > > Ho poi una seconda domanda, che fortunatamente richiede meno parole :) > > A volte, viene dato un certo comando, ad esempio "send_data(123)"; > questa operazione viene fatta in modo asincrono, cioé il controllo > torna subito all'utente e una callback verrà chiamata quando > l'operazione è stata completata. > > Come posso rendere sincrona (bloccante) l'invocazione di un comando? > > https://gist.github.com/perillo/21234cf7b06873227cb2 Funziona se la callback viene chiamata da un thread separato. Il codice e sovra-semplificato, in particolare non gestisce correttamente gli errori. > [...] Ciao Manlio
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python