View Full Version : vb.net problema con funzione in "module"
The March
13-04-2004, 17:05
sto facendo una pagina con una tabella, per prendere i dati di questa tabella dal db ho creato una funzione in una classe module, public function XXXX (x,y,z) as datatable ecc..
ora però dalla mia pagina non riesco ad associare questa funzione al datasource della mia tabella...
l'errore che restitiusce è:"'@@@@' is a type and cannot be used as an ezpression"
...
che devo fa? mi potete aiutare?
(se sono stato poco chiaro chiedete pure chiarimenti)
The March
13-04-2004, 17:25
pare che il problema fosse qualcos'altro...
chiamando la stessa funzione con un nome più corto non da nessun errore... probabilmente da qualche parte è dichiarato un tipo con lo stesso nome della mia funzione...
ma allora perchè mi avrebbe fatto dichiarare la funzione senza problemi?
Posta il pezzetto del codice..basta il prototipo della funzione e l'operazione di assegnamento.
Perchè se questo e' il codice
Public function MyFunc()as DataTable
.
.
.
end function
Grid.Datasource=MyFunc()
non c'e' nulla di sbagliato..
The March
14-04-2004, 11:03
Originariamente inviato da Geen
Posta il pezzetto del codice..basta il prototipo della funzione e l'operazione di assegnamento.
Perchè se questo e' il codice
Public function MyFunc()as DataTable
.
.
.
end function
Grid.Datasource=MyFunc()
non c'e' nulla di sbagliato..
infatti il codice è così...
non c'è nulla da fare, se la chiamo pippolol mi da quell'errore ma se la chiamo pippolo funziona alla perfezione (cambiando solo ed esclusivamente il nome..)
io pensavo che a sto punto il problema fosse che era già stata dichiarata un'altra funzione o un altro tipo all'interno del programma che sto facendo e quindi si confondesse tra la funzione ed il tipo... ma se fosse così non dovrebbe avermi dato errore quando dichiaravo la funzione?
Non e' sicuramente il nome che da problemi..sicuramente avrai usato come nome per la tua funzione una parola riservata o il nome di un altra funzione.Purtroppo a volte Vb.net lascia troppa libertà nell'implementazione del codice e ci si può trovare,con un codice mal scritto,in casi di ambiguità nonostante il compilatore non abbia segnalato alcunchè.Quindi bisogna avere accortezza nello scrivere con un certo criterio il codice e avere ben chiaro ambiti di visibilità e di appartenenenza perche' Vb.net lascia parecchia libertà.(=molta potenza ma possibilità di casini a volte difficili da scovare).Guarda sto esempio banale:
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
TextBox()
End Sub
Public Sub TextBox()
Dim TextBox As New TextBox
TextBox.Parent = Me
TextBox.Show()
End Sub
Non da errori in compilazione e funziona pure..
Ps: posta il codice incriminato,basta il prototipo della funzione
Public Function NomeFunzione()
end function
e l'assegnazione
The March
14-04-2004, 15:25
Originariamente inviato da Geen
Ps: posta il codice incriminato,basta il prototipo della funzione
Public Function NomeFunzione()
end function
e l'assegnazione
grazie sei stato molto chiaro... era propio ad esempi come questi che mi riferivo... pensavo che direttamente nella dichiarazione della funzione mi avrebbe dato errori....
per il codice.... nemmeno immagini cosa mi stai chiedendo....
non la troverò mai... sto lavorando ad un progetto abbastanza grosso e sinceramente mi sono completamente dimenticato che fine ha fatto quella funzione... sorry.. se la trovo ti posto il codice!;)
p.s.
grazie per l'aiuto !
The March
14-04-2004, 15:42
ho trovato la funzione... mi sono ricordato che la funzione era in un modulo e all'interno del progetto esiste una sola classe di tipo modulo....(peccato che questo modulo è lungo 3500 righe)
Public Function PeriodicheScpa(ByVal Da As Date, ByVal A As Date, ByVal aAmm As Integer, ByVal aMan As Integer, ByVal aVal As Integer) As DataTable
End Function
vBulletin® v3.6.4, Copyright ©2000-2026, Jelsoft Enterprises Ltd.