Probleem met vertaling C++ dll functie aanroep naar C#

Status
Niet open voor verdere reacties.

Elvenstone

Nieuwe gebruiker
Lid geworden
6 nov 2008
Berichten
2
Hallo allemaal!

Ik begin eigenlijk net met C#, dus mijn vraag is waarschijnlijk heel suf voor doorgewinterde C# ontwikkelaars als jullie. :p

De functie die ik wil aanroepen is een __stdcall, maar volgens mij hoef ik me daar in C# niet zoveel zorgen om te maken (correct me if I'm wrong).

Wat ik heb is de aanroep in C++
typedef int (__stdcall * pBrkFunction)
(char *tdtmGebdat1, int tintGesl1, double * tdblP, char tcharTermijn);

Kan iemand me helpen dit te vertalen naar C#?
Mijn dank is bij voorbaat groot!
 
__stdcall wordt gebruikt om win32 API functions op te roepen.
In c# is deze conventie niet van toepassing en maak je best gebruik van wrappers en Pinvoke. Hierover vind je genoeg op google: Pinvoke en kijk ook zeker eens hier.

Als je vragen hebt hoor ik het wel, succes.
 
Hai Ginanity,

Bedankt voor je antwoord, hoor.
Ik had al zoiets:

Code:
[DllImport(@"BrkModule.dll")]
private static extern int pBrkFunction(char*[] tdtmGebdat1, int tintGesl1, ref double tdblP, char tcharTermijn);

...maar de compiler struikelt over de char* array. Hierin staat een geboortedatum die ik als volgt heb gedefinieerd:

Code:
char[] szGebDatVz1 = new char[11];  // dd-mm-jjjj
szGebDatVz1 = ("01-01-1980").ToCharArray(0, 10);

Zie je hier een probleem waardoor het niet zou werken?
Alvast bedankt voor je hulp.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan