Herzlich willkommen in der Delphi-PRAXiS, Sascha.
Wenn du der Funktion me4000AIExtractValues() einen Datenpuffer für 40 Messwerte avisierst, dann musst du auch einen solchen Puffer vorhalten:
Delphi-Quellcode:
var
sValues: array [0..39] of Smallint;
{[...]}
procedure TForm1.ContinStart(Sender: TObject);
Begin
for uiChannelNumber := 0 to 3 do
begin
me4000AIExtractValues(
uiChannelNumber, // Channel number
@sValues, // Data buffer <--- Inkompatible Typen, s.u.
uiNumberOfValues, // Total number of data values
@arrbChannelList[0], // Start of channel list
4, // Number of entries in the channel list
@arrsiChannelScanData[uiChannelNumber][0], // Channel data returned here
40, // Size of channel data buffer
lwNumberOfChannelScanData); // Number of values actually returned
// for this channel here
end;
{[...]}
Freundliche Grüße vom marabu