Qualcuno sa se è possibile creare una ActiveX DLL ed utilizzare come variabile membro della classe un componente OCX????
Grazie
Qualcuno sa se è possibile creare una ActiveX DLL ed utilizzare come variabile membro della classe un componente OCX????
Grazie
...non ho ben capito la domanda...cmq....
...all'interno della DLL activeX, puoi utilizzare qualsiasi componente, basta che quest'ultimo non abbia un output a video.
...and I miss you...like the deserts miss the rain...
Innanzitutto grazie per la risposta. Volevo solo precisarti una cosa:
Dicendo
"...utilizzare come variabile membro della classe un componente OCX..."
intendo dire questo:
L'errore e' "Object variable or With block variable not set (Error 91)"codice:Option Explicit ' PROPRIETA': Variabili membro private Private m_comm As MSComm Private m_num As Long Private m_str As String ' METODI: Funzioni di interfaccia Public Sub funzione1() m_str = "Stringa1" m_num = 1 End Sub Public Sub funzione2(ByVal var As String) m_str = "Stringa2" m_num = 2 m_comm.CommPort = 1 <-------!!!! ERRORE!!!!! End Sub
Perche' non posso assegnargli il valore?????
Perchè non l'hai ancora istanziata (settata)(come dice l'errore)!!
o la istanzi nella dichiarazione
con:
oppure appena prima di usarla:codice:Private m_comm As New MSComm
[code]
Public Sub funzione2(ByVal var As String)
m_str = "Stringa2"
m_num = 2
Set m_comm = New MSComm
m_comm.CommPort = 1
End Sub
[code]
ti sconsiglio di istanziarli nella dichiarazione, a meno che la routine lo utilizza in ogni caso!
ricordati alla fine che devi liberare la memoria occupata con
Set m_comm = Nothing
Ciao!!
Meglio nel Class_Initialize
E nel Class_Terminatecodice:Set m_comm = New MSComm
codice:Set m_comm = Nothing
Sono contento per le risposte ricevute, ma la pratica non funziona!!!
Provare per credere!!!
Possibile che non ci sia modo di usare un componente dentro una ActiveX DLL ????
Riallego il tutto per chi volesse provare questo semplice esempio:
PROGETTO ActiveX DLL di nome Class1:
codice:Option Explicit ' PROPERTIES': Public m_comm As MSComm Private m_num As Long Private m_str As String Public Sub function1(ByVal var As String) MsgBox var m_str = "Str1" m_num = 1 m_comm.CommPort = 1 '<-------!!!! ERROR!!!!! End Sub
PROGETTO Standard EXE:
codice:Private Sub Command1_Click() Dim class As New Class1 class.function1 ("pippo") End Sub
Non c'e' verso di farlo funzionare usando l'istruzione SET.
MatteoXMad