Indlæsning af data via dll - pointer-crash....?
Jeg er ved at indlæse nogle temperaturmålinger fra en PicoLog TC08 temeperaturlogger. Jeg indlæser data via en dll-fil, der kører igennem JNA. Jeg kan åbne enheden, starte temperaturmålinger, og stoppe enheden igen, så det hele funger umiddelbart fint. Jeg kan imidlertid ikke få læst temperaturene ud. Programmet crasher og giver denne fejl:# A fatal error has been detected by the Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x04f83d03, pid=6400, tid=6548
#
# JRE version: 6.0_16-b01
# Java VM: Java HotSpot(TM) Client VM (14.2-b01 mixed mode, sharing windows-x86 )
# Problematic frame:
# C [usbtc08.dll+0x3d03]
Her er metoden der crasher. Jeg tror fejlen ligger i min manglende forståelse for hvad parametrene dækker over. Jeg ved f.eks ikke hvad jeg skal sætte ind som en pointer.
----------------------------------------------------
long usb_tc08_get_temp
(
short handle,
float * temp_buffer,
long * times_ms_buffer,
long buffer_length,
short * overflow,
short channel,
short units,
short fill_missing
)
Forklaringen fra dokumentationen:
temp_buffer = Pointer to a location where the readings are to be placed.
times_ms_buffer = Returns the time that the first channel was converted (optional.)
buffer_length = Length of data buffers.
overflow = Pointer to a variable that will be assigned a value of 1 if
an overflow occured on any of the readings copied into
temp_buffer, or 0 if an overflow did not occur. An
overflow occurs when the input signal is higher than the
measuring range of the USB TC-08.
--------------------------------------------------
Kan nogen hjælpe mig med at få temperaturen udlæst?