Oppure

Loading
25/11/09 20:00
noitide
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 25/11/09 20:02
aaa
26/11/09 17:01
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.
aaa
27/11/09 13:54
noitide
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 27/11/09 13:59
aaa
27/11/09 17:52
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ì:
Function MyFunction([tuoi parametri], ByVal Name As String)
    '...
End Function

e nel form:
Private Sub Form_Load(...) Handles MyBase.Load
  Dll.MyFunction([parametri vari], My.Settings.Name)
End Sub
aaa
27/11/09 18:53
noitide
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ì:
Function MyFunction([tuoi parametri], ByVal Name As String)
    '...
End Function

e nel form:
Private Sub Form_Load(...) Handles MyBase.Load
  Dll.MyFunction([parametri vari], My.Settings.Name)
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 28/11/09 21:09
aaa