PDA

Visualizza la versione completa : computer inchiodato


pegaso22
19-12-2003, 10:50
Ciao a tutti,
il mio problema è il seguente:
ho creato una funzione(in delphi), che per forza, mi inchioda il computer per un minuto circa, vorrei sapere se fosse possibile in qualche modo far si che il computer rimanesse utilizzabile anche in quel minuto e la funzione lavorasse per conto suo.

Sò che forse è una domanda un pò strana, ma volevo capire se potevo risolvere questo mio problemino.

Fatemi sapere. Grazie.

alka
19-12-2003, 11:07
Non c'è nulla di strano...in realtà, capita spesso di avere applicazioni che hanno la necessità di eseguire lunghe elaborazioni, ma dovrebbero consentire allo stesso tempo di utilizzare altri programmi e, possibilmente, anche l'applicazione stessa (vedi il caso di stampe, aggiornamenti database, ecc.).

A questo scopo, vengono in aiuto i thread.

Per creare un thread, puoi servirti del wizard fornito da Delphi che non fa altro che predisporti una classe che eredita da TThread (la classe che incapsula le funzioni API di Windows per la gestione dei thread); la classe ha un metodo Execute nel quale puoi inserire le istruzioni che devono essere eseguite in modo asincrono rispetto all'applicazione.

Ne sto facendo uso all'interno di un programma che scarica posta da diversi server POP3 e la smista all'interno di caselle interne; per non bloccare il programma, viene creato un thread per ogni account POP3 che scarica nel momento opportuno la posta consentendo però di monitorarne lo stato dall'applicazione principale.

Puoi trovare informazioni sui thread nella Guida in linea di Delphi.

P.S.: occorre fare molta attenzione quando si utilizzando risorse che vengono condivise dal nuovo thread e dal thread principale dell'applicazione (primario), poichè è necessario proteggere adeguatamente tali risorse utilizzando elementi di sincronizzazione come le Critical Section o i Mutex.

pegaso22
19-12-2003, 11:17
Anche a me serve per posta elettronica...
Ti ringrazio, provo a vedere qualcosa.

alka
19-12-2003, 11:20
Allora suppongo che tu stia utilizzando i componenti client di Indy (IdPOP3 o IdSMTP)... ;)

pegaso22
19-12-2003, 11:28
Si sto usando, IndyMsg e IndySMTP... va bene?
Ho creato un piccolo programma di gestione interna per l'invio di e-mail pubblicitarie.

alka
19-12-2003, 11:32
Originariamente inviato da pegaso22
Si sto usando, IndyMsg e IndySMTP... va bene?

Perfetto. ;)


Originariamente inviato da pegaso22
Ho creato un piccolo programma di gestione interna per l'invio di e-mail pubblicitarie.
Occhio alle norme antispam. :stordita:

pegaso22
19-12-2003, 11:32
Norme antispam? cosa sono?

alka
19-12-2003, 11:37
Non sono riuscito a capire se il messaggio era ironico... :)

Ad ogni modo, non puoi inviare email pubblicitaria senza aver prima richiesto l'esplicito consenso da parte del destinatario, specialmente se l'indirizzo è stato prelevato da pagine Web in automatico attraverso l'ausilio di robot "cattura-indirizzi".

pegaso22
19-12-2003, 11:44
Ero serio... non sò se mi sto infognando in questo momento ma non sapevo nulla!!!
Dove posso trovare le leggi?
La ricerca la sto facendo manualemte, senza software, ma mi sà che non và bene comunque.
Da tempo esistono queste norme?(domanda da ignorante, forse, ma è da poco che ho deciso di fare pubblicità del genere e non sapevo nulla)

alka
19-12-2003, 11:55
In parte, inviare email pubblicitarie non richieste non è propriamente "etico" dal punto di vista della netiquette.

Raccogliere indirizzi, manualmente o automaticamente, per inviare email pubblicitarie in massa, oltre a non essere vista di buon occhio come azione, può incorrere in sanzioni.

Per quanto ne so, attualmente viene tollerato l'invio di una mail, a patto che siano citate chiaramente le modalità con cui si è risaliti all'indirizzo di posta elettronica e la precisazione che non verranno inviate email a meno che l'utente non dimostri interesse (iscrivendosi al sito, rispondendo al messaggio, ecc.).

Anche io ho iniziato un programma simile al tuo, ma mi serve per inviare delle mailing list agli iscritti quando il sito aziendale nuovo sarà pronto: si tratta di persone che hanno dato il loro spontaneo ed esplicito consenso alla ricezione di posta.

Inviare email pubblicitarie in massa, vista la tonnellata di posta "spazzatura" che trovo personalmente ogni giorno nella mia casella di posta elettronica, non me lo sogno nemmeno...per me è una questione di principio. :)

Loading