Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Problem pozivanja C unmanaged funkcije iz C#

[es] :: .NET :: .NET Desktop razvoj :: Problem pozivanja C unmanaged funkcije iz C#

[ Pregleda: 1960 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

chiro
Root Chiro

Član broj: 17324
Poruke: 17
*.ttk.pte.hu.



Profil

icon Problem pozivanja C unmanaged funkcije iz C#29.06.2006. u 13:31 - pre 217 meseci
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!
Pozdrav!
 
Odgovor na temu

NrmMyth
Ivan Maček
Split

Član broj: 63456
Poruke: 849
*.net.t-com.hr.

Sajt: www.dump.hr


Profil

icon Re: Problem pozivanja C unmanaged funkcije iz C#29.06.2006. u 13:50 - pre 217 meseci
Managed C++ (C++/CLI)
Kako se sad bas upoznajem sa gore navedenim, ako ti nije problem da mi das funkciju pa cu ti je napraviti managed asembly koji ces lako moc iskoristiti.
Ti pomognes meni - ja tebi...
 
Odgovor na temu

chiro
Root Chiro

Član broj: 17324
Poruke: 17
*.ttk.pte.hu.



Profil

icon Re: Problem pozivanja C unmanaged funkcije iz C#29.06.2006. u 13:56 - pre 217 meseci
Nemam izvorni kod funkcije. Samo dll datoteku.
Pozdrav!
 
Odgovor na temu

chiro
Root Chiro

Član broj: 17324
Poruke: 17
*.ttk.pte.hu.



Profil

icon Re: Problem pozivanja C unmanaged funkcije iz C#30.06.2006. u 10:53 - pre 216 meseci
Da budem malo precizniji. Kako da predam parametar tipa array tako da unmanaged funkcija upise u njega vrijednosti i da pri povratku mogu procitati te vrijednosti?

Hvala
Pozdrav!
 
Odgovor na temu

Oliver Klaćik
Vice President, Thunder Road Software
Inc.
Stara Pazova

Član broj: 34059
Poruke: 242
80.93.231.*

Sajt: www.thunderroadsoftware.c..


Profil

icon Re: Problem pozivanja C unmanaged funkcije iz C#02.07.2006. u 08:54 - pre 216 meseci
Nemam baš puno iskustva sa unmanaged kodom, ali zar ne bi bilo dovoljno da taj parametar proslediš kao reference (ref) input parametar?
Oliver 'FAQ' Klaćik
 
Odgovor na temu

[es] :: .NET :: .NET Desktop razvoj :: Problem pozivanja C unmanaged funkcije iz C#

[ Pregleda: 1960 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.