Potřebuji poradit. Mám knihovnu s funkcemi a události s ní spojené. Příklad knihovny:
Namespace knihovna
Public Class funkce
Private _id As system.Int16
private _status as system.string
private Structure objekt_1
Public id As system.Int16
Public diagnostika As system.string
Public status As system.String
End Structure
Public Property id() As Int16
Get
Return (_id)
End Get
Set(ByVal value As Int16)
_id = value
End Set
End Property
Public Property status() As String
Get
Return (_status)
End Get
Set(ByVal value As String)
_status = value
End Set
End Property
public event udalost_1 As eventhandler 'Tady bych asi měl říct, že je to můj objekt1, popřípadě více objektů
function funkce_1(neco as string, neco as int16)
... výkoná část
RaiseEvent událost_1(něco as string, něco as int16, něco as objekt) ' Tohle bych potřeboval vrátit
end Function
end class
end namespace
Vlastní program by k ní měl přistupovat asi takto:
class program
public novy_objekt as knihovna.objekt1
public Structure objekt_1
Public id As system.Int16
Public diagnostika As system.string
Public status As system.String
End Structure
Public Sub Form.load ' například nahrání hlavního formu
for i = 0 to 9
dim novy_objekt(i) = new novy_objekt
novy_oblekt.id = i
end for
'pak již k objektu přistupuji přes index
novy_objekt(0).funkce_1(neco as string, neco as int16)
end Sub
'zachycení události z knihovny
Public Sub udalost(id as int 16, něco as int16, něco as objekt)
' a zde již mám data ze zpracované funkce
' v proměnné ID mám i index ze které knihovny se to vrátilo
' dále můžu provést např:
novy_objekt(id).status = "ok"
End Sub
end class
Jde mi o to že funkce nevrací standartní envent(e , sender), ale data zpracované funkcí. Pokud dimenzuji pole pro 10 objektu tak nejsem schopnej zjistit které zařízení, řízené knihovnou mi vrátila event. Za případné návrhy předem děkuji.
|