[ chiro @ 29.06.2006. 13:31 ] @
Pozdrav svima. Problem je sledeci: Imam file.h datoteku u kojoj je izmedju ostalog i sledeca funkcija: Code: int DllExport DataqVReadAIMultiChannelCSharp(int iCardNo, int (*iChannelNumberArray)[4], int iNumberofChannels, int iAIMode, float (*fVoltageArray)[4]); Prvi array je input a drugi bi trebao vratiti neke vrijednosti. Nigdje na netu ne mogu da nadjem neki normalno napisani dokument kaji objasnjava kako bih trebao da postavim parametre u C# deklaraciji. Probao sam na sledeci nacin da definisem funkciju u C#-u: Code: [DllImport("DataqCF2.dll", SetLastError = true)] public static extern unsafe int DataqVReadAIMultiChannelCSharp(int iCardNo, int[] iChannelNumberArray, int iNumberofChannels, int iAIMode, float[] fVoltageArray); Pozivao sam je na sledeci nacin: Code: float[] values = new float[4]; int[] channels = new int[4]; channels[0] = 0; channels[1] = 1; channels[2] = 2; channels[3] = 3; DataqCF2.DataqVReadAIMultiChannelCSharp(Program.cardCount - 1, channels, 4, 0, values); nakon izvrsenja vrijednosti values-a su 0-e. Ako dodam 'out' ispred values onda program napravi exception. Pomoglo bi mi konkretno rjesenje, a jos vise neki dobar dokument u kojem je napisano sve o tome sa primjerima. Unaprijed hvala! |