29 messaggi dal 03 marzo 2009
Ciao a tutti,
ho fatto un piccolo progetto in vb net con visual studio 10 utilizzando il net 4.0
In questo progetto utilizzo un vecchio componente esterno (è una phonebar):

Imports IFMScriptCtrl

la dichiarazione nella Public Class Form1:

Dim Scriptcontrol As IFMScriptCtrl.ScriptControl

e per finire ScriptControl = new IFMScriptCtrl.ScriptControl

dopodichè tutto mi funziona a dovere.

Purtroppo dal cliente non è installabile il net 4,0 e devo lavorare con il 2.0. Lo stesso codice con il 2.0 non mi funziona, il vs dice che:
'IFMScriptCtrl.ScriptControlClass.Friend Sub New()' non è accessibile in questo contesto perché è 'Friend'

Cosa significa? come posso risolvere?

Grazie

Paolo
29 messaggi dal 03 marzo 2009
Ho cercato di ridurre la questione ai minimi termini:
Nuovo progetto con VS2010 VB e net 2.0
Aggiungo riferimento a COM che ho sul mio computer e scrivo seguente codice:

Public Class Form1
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Dim test As IFMScriptCtrl.ScriptControl
test = New IFMScriptCtrl.ScriptControl
End Sub
End Class

La riga "test = New IFMScriptCtrl.ScriptControl" torna l'errore:

La funzione IFMScriptCtrl.ScriptControlclass.Friend Sub New() non è accessibile in questo contesto perché è 'friend'.

A questo punto apro le proprietà del progetto, compilazione, opzioni avanzate e imposto il NET 4.

Il messaggio di errore scompare e il codice funziona.

A presto
29 messaggi dal 03 marzo 2009
Ho risolto, anche se non ho capito perché :-(

Con NET 4.0 la procedura funzionava regolarmente, invece mi veniva impedito di trascinare i due componenti esterni dalla casella degli strumenti.
Con NET 2.0 non avevo fatto la prova dando per scontato lo stesso effetto, invece trascinando gli oggetti dallo toolbox sul mio form funziona (sia l'operazione che la procedura).

Se qualcuno mi sa indicare una spiegazione teorica ne sarei comunque felice.

Grazie

Paolo

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.