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] Usare My.settings di un altro programma.
Forum - C# / VB.NET - [VB.NET] Usare My.settings di un altro programma.

Avatar
noitide (Normal User)
Pro


Messaggi: 107
Iscritto: 24/06/2009

Segnala al moderatore
Postato alle 21:00
Mercoledì, 25/11/2009
buona sera a tutti, ho una dll ke viene utilizzata da un programma il quale salva dei dati nella in my.settings (del form). quando però lancio il programma chiamo nel load del form una funzione
nella dll. dentro questa funzione mi servirebbero i valori ke precedentemente avevo salvato in my.settings con l'altro form,spero di non essere stato troppo contorto... :rofl: potete aiutarmi?? grazie :)

Ultima modifica effettuata da noitide il 25/11/2009 alle 21:02
PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 18:01
Giovedì, 26/11/2009
Sì, è contorto.

Se per "l'altro form" intendi il form "il quale salva dei dati nella in my.settings", allora ti basta modificare la funzione in modo che essa accetti più parametri. Tali parametri li passerai direttamente tu alla funzione nel corpo di Form_Load, prelevandoli da My.Settings. Ossia non è necessario scervellarti per poter accedere ai dati salvati dal corpo della funzione (non ci riusciresti): basta che il chiamante glieli passi, poiché il chiamante vi ha accesso.

Se per "l'altro form" intendi un form diverso da quello menzionato all'inizio, allora hai una concenzione sbagliata di My. My è un namespace visibile da tutta l'applicazione e quindi anche le sue classi sono accessibili da tutti i form. Salvare dati con un form o con un altro è indifferente, poiché My.Settings contiene dati globali raggiungibili da ogni punto del codice.


"Infelici sono quelli che hanno tanto cervello da vedere la loro stupidità."
(Fligende Blatter)

"Dubitare di se stessi è il primo segno d'intelligenza."
(Ugo Ojetti)
PM Quote
Avatar
noitide (Normal User)
Pro


Messaggi: 107
Iscritto: 24/06/2009

Segnala al moderatore
Postato alle 14:54
Venerdì, 27/11/2009
Testo quotato

Postato originariamente da Il Totem:

Sì, è contorto.

Se per "l'altro form" intendi il form "il quale salva dei dati nella in my.settings", allora ti basta modificare la funzione in modo che essa accetti più parametri. Tali parametri li passerai direttamente tu alla funzione nel corpo di Form_Load, prelevandoli da My.Settings. Ossia non è necessario scervellarti per poter accedere ai dati salvati dal corpo della funzione (non ci riusciresti): basta che il chiamante glieli passi, poiché il chiamante vi ha accesso.

Se per "l'altro form" intendi un form diverso da quello menzionato all'inizio, allora hai una concenzione sbagliata di My. My è un namespace visibile da tutta l'applicazione e quindi anche le sue classi sono accessibili da tutti i form. Salvare dati con un form o con un altro è indifferente, poiché My.Settings contiene dati globali raggiungibili da ogni punto del codice.



allora sicuramente non è il secondo caso ma non sono sicuro ke sia nemmeno il primo.. comnq ho pensato ke si potrebbe creare una funzione nell'applicazione dove salva my.settings ke abbia come return my.settings.item("prova") almeno mi ritorna quello, il problema è ke dalla dll non posso richiamare la funzione della form, cioè dalla form posso chiamare le funzioni della dll (ovviamente :rofl:) ma dalla dll non posso richiamare funzioni della form..

Ultima modifica effettuata da noitide il 27/11/2009 alle 14:59
PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 18:52
Venerdì, 27/11/2009
E' il primo caso, allora. Dalla dll vuoi dei dati che sono raggiungibili solo dalla form. Ma allora basta che la form passi alla funzione tali dati. Per far questo devi modificare la funzione in modo che accetti più parametri.

Ad esempio, se la funzione deve accedere al campo Name di My.Settings, puoi estendere la sua signature così:
Codice sorgente - presumibilmente Delphi

  1. Function MyFunction([tuoi parametri], ByVal Name As String)
  2.     '...
  3. End Function


e nel form:
Codice sorgente - presumibilmente VB.NET

  1. Private Sub Form_Load(...) Handles MyBase.Load
  2.   Dll.MyFunction([parametri vari], My.Settings.Name)
  3. End Sub



"Infelici sono quelli che hanno tanto cervello da vedere la loro stupidità."
(Fligende Blatter)

"Dubitare di se stessi è il primo segno d'intelligenza."
(Ugo Ojetti)
PM Quote
Avatar
noitide (Normal User)
Pro


Messaggi: 107
Iscritto: 24/06/2009

Segnala al moderatore
Postato alle 19:53
Venerdì, 27/11/2009
Testo quotato

Postato originariamente da Il Totem:

E' il primo caso, allora. Dalla dll vuoi dei dati che sono raggiungibili solo dalla form. Ma allora basta che la form passi alla funzione tali dati. Per far questo devi modificare la funzione in modo che accetti più parametri.

Ad esempio, se la funzione deve accedere al campo Name di My.Settings, puoi estendere la sua signature così:
Codice sorgente - presumibilmente Delphi

  1. Function MyFunction([tuoi parametri], ByVal Name As String)
  2.     '...
  3. End Function


e nel form:
Codice sorgente - presumibilmente VB.NET

  1. Private Sub Form_Load(...) Handles MyBase.Load
  2.   Dll.MyFunction([parametri vari], My.Settings.Name)
  3. End Sub



ehm... allora.. ho capito solo parzialmente quello ke vuoi dire, mi perdo quando dici [tuoi parametri] e [parametri vari] e poi è alla dll ke servono i dati ke si possono modificare solo dalla form, come mi hai suggerito tu non avviene il contrario? oppure ho capito poco (come penso sia..) 8-|


EDIT: nel rimbambimento di ieri non avevo inteso, oggi grazie alla tuo "spunto" mi è venuto in mente come fare e ho capito cosa intendevi.. quindi ho risolto.. grazie totem :k:

Ultima modifica effettuata da noitide il 28/11/2009 alle 22:09
PM Quote