Lid |
|
Dag iedereen.
Betreft een vraag over Visual Basic 2010.
In een VB2010 programma maak ik gebruik van een .dll file.
Via <DllImport.......> heb ik een aantal functie uit die dll gedeclareerd.
Werkt perfect.
Nu zijn er echter een paar functies die data teruggeven als pointer naar een array, ingevuld door de functie met de data .
Ga even de tekst van de aan te roepen functie weergeven zoals in beschrijving:
Parameters door te geven aan de functie zijn :
*hphandle
int id
int *time
unsigned char **data
int *length
hphandle : Pointer to a HP_MIDIFILE handle. ( OK )
id : The index of the eventlist of the Midi event ( OK )
time : A pointer filled by the function with the event's position of time ( OK )
data : A pointer to an array, filled by the function with the data of the event (???????)
length : A pointer filled by the function with the number of event-data ( OK )
'HP_ReadEventData
<DllImport("HP_midifile.dll", entrypoint:="?HP_ReadEventData@@YAIPAVMIDIFile@@HPAHPAPAE1@Z")> _
Public Function HP_ReadEventData(ByVal mf As Integer, ByVal id As Integer, ByRef time As Long, ByRef data() As Byte, ByRef length As Long) As Integer
End Function
dim data() as byte
result = HP_ReadEventData(mf, id, time, data, length)
'HP_ReadEventData <DllImport("HP_midifile.dll", entrypoint:="?HP_ReadEventData@@YAIPAVMIDIFile@@HPAHPAPAE1@Z")> _ Public Function HP_ReadEventData(ByVal mf As Integer, ByVal id As Integer, ByRef time As Long, ByRef data() As Byte, ByRef length As Long) As Integer End Function dim data() as byte result = HP_ReadEventData(mf, id, time, data, length)
Ik kan enkel het eerste element van de data array lezen (data(0))
Heeft iemand een idee hoe ik zulk een array kan uitlezen.
Mvg
Etienne
|