Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - vb.net 2010 accesso ai dati di una funzione pubblica
Forum - C# / VB.NET - vb.net 2010 accesso ai dati di una funzione pubblica

Avatar
trattobasso (Normal User)
Pro


Messaggi: 89
Iscritto: 02/05/2007

Segnala al moderatore
Postato alle 7:55
Mercoledì, 05/10/2011
ciao a tutti, cercherò di essere abbastanza chiaro perchè sto cercando di accrocchiare qualcosa trovato in giro e forse non sono abbastanza intelligente.
In sostanza ho trovato e modificato questa funzione:
Codice sorgente - presumibilmente VB.NET

  1. Public Function leggi_chiave(ByRef ValoreDiRitorno As String, ByVal NomeCampo As String) As Boolean
  2.         leggi_chiave = True
  3.         ValoreDiRitorno = Registry.LocalMachine.OpenSubKey("Software").OpenSubKey("Easy App").OpenSubKey("Easy Fax").GetValue("Mittente").ToString
  4.     End Function


che serve per estrapolare il vaore di una chiave di registro.
Questo valore mi serve poi come testo, per utilizzarlo com il mittente di una e-mail.
il codice che uso per mandare la mail è questo:
Codice sorgente - presumibilmente VB.NET

  1. Dim attachment As New Net.Mail.Attachment(ofd_allegato.FileName)
  2.             Dim myMail As New MailMessage()
  3.             myMail.From = New MailAddress("ValoreDiRitorno")
  4.             myMail.To.Add("mail@mail.it")
  5.             myMail.Subject = txt_destinatario.Text
  6.             myMail.Priority = MailPriority.Normal
  7.             myMail.Attachments.Add(attachment)
  8.             Dim Smtp As New SmtpClient("out.alice.it")
  9.             Smtp.Send(myMail)


Il problema è che in corrispondenza di myMail.From non so come fargli prendere il valore di ritorno che leggo dalla chiave di registro. Così come scritto e anche in altri modo (che conosco io) mi da sempre errore o nella migliore delle ipotesi non legge nessun valore quando effettivamente la chiave di registro esiste.
Consigli?
Ciao e grazie.

p.s.al mio post precedente http://www.pierotofy.it/pages/extras/forum/16/1031614-vbne ... nessun consiglio?

Ultima modifica effettuata da trattobasso il 05/10/2011 alle 7:56
PM
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 5475
Iscritto: 03/01/2010

Up
1
Down
V
Segnala al moderatore
Postato alle 8:21
Mercoledì, 05/10/2011
Non so come tu abbia provato, ma se il dato è corretto ed è stato regolarmente letto, basta che lo inserisca *senza* le virgolette ...

myMail.From = New MailAddress(ValoreDiRitorno)

se quando hai chiamato la funzione leggi_chiave hai usato una variabile con tale nome (perché ricorda che è solo il nome dell'argomento) ...

Altrimenti devi usare la variabile che hai usato per la chiamata ...

Ultima modifica effettuata da nessuno il 05/10/2011 alle 10:15


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
PM
Avatar
Dedalux (Member)
Pro


Messaggi: 103
Iscritto: 15/12/2010

Up
1
Down
V
Segnala al moderatore
Postato alle 0:51
Giovedì, 06/10/2011
Come ha detto nessuno, essendo una variabile devi utilizzarla senza virgolette, in quanto quelle le utilizzi per definire una stringa.

Inoltre, vorre farti notare che quel leggi_chiave = True è inutile.
In genere si usa una funzione simile alla tua per lavorare su una variabile passata come parametro ByRef, in modo da poter assegnare alla funzione un valore di ritorno booleano, per definire l'esisto delle operazioni in essa contenute.

Nel tuo caso ritorni un esisto positivo ancora prima di eseguire le operazioni contenute nella funzione, ossia a prescindere dalla presenza di errori che potrebbero interrompere il procedimento.

Io vedrei più corretto un try catch che raccolga un'eventuale eccezione e in tal caso ritornare False, altrimenti True.


«La disumanità del computer sta nel fatto che, una volta programmato e messo in funzione, si comporta in maniera perfettamente onesta.»

Isaac Asimov
PM