login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Pointer to array returned by function (dll)

Offline vlbrgt - 13/04/2012 21:50
Avatar van vlbrgtLid 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 )

  1. 'HP_ReadEventData
  2. <DllImport("HP_midifile.dll", entrypoint:="?HP_ReadEventData@@YAIPAVMIDIFile@@HPAHPAPAE1@Z")> _
  3. 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
  4. End Function
  5.  
  6. dim data() as byte
  7.  
  8. 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

1 antwoord

Gesponsorde links
Offline Stijn - 20/04/2012 21:34
Avatar van Stijn PHP expert Kan je die data parameter niet met addressof doen? Dus dat je het adres opvraagt van die data array en dat meegeeft als parameter. Probeer dat eens.
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.174s