S
SS
Hi I have a dll with the following signature - I would like to know How I
can call this from CSharp,pls
This is a test app from C - and it works - but from CSharp???
#include <fstream.h>
#include <stdio.h>
#include <string.h>
#include "SalDef.h"
extern "C" void __stdcall SalCalculate(Date *date,Location *loc,ConfigData
*data,char *s);
int main()
{
Location loc;
ConfigData data;
Date date;
double magDec;
char output[10000]; // Make sure the length is enough. I.e. for year
// calculation you need more!
ofstream outFile;
double dir, dist;
data.imsakAngle=(float)-16.0;
data.fajrAngle=(float)-13.5;
data.ishaAngle=(float)-16.0;
data.dist=10;
data.fiqh=1;
data.precision=1;
data.addMin=0;
data.secondsToCorrect=2;
data.maxErrorInSec=1;
data.rule=1;
data.temp=10;
data.pressure=0;
data.visibleLimit=(float)15;
data.adjust=0;
data.nMinutes=90;
data.programFlags=0X100;
strcpy(loc.name,"XCYZ");
loc.lat=33.0463;
loc.lon=-96.9939;
loc.zone=(float)-6.0;
loc.saveStr=0;
loc.saveEnd=0;
loc.height=0;
date.day=1;
date.month=11;
date.year=2005;
date.isValid=0;
outFile.open("SaTest.txt");
if (outFile)
{
if(SalisValidDate(&date,0)==True)
{
SalCalculate(&date,&loc,&data,output);
outFile << output;
outFile.close();
}
}
return 1;
}
Thx
SalQ
can call this from CSharp,pls
This is a test app from C - and it works - but from CSharp???
#include <fstream.h>
#include <stdio.h>
#include <string.h>
#include "SalDef.h"
extern "C" void __stdcall SalCalculate(Date *date,Location *loc,ConfigData
*data,char *s);
int main()
{
Location loc;
ConfigData data;
Date date;
double magDec;
char output[10000]; // Make sure the length is enough. I.e. for year
// calculation you need more!
ofstream outFile;
double dir, dist;
data.imsakAngle=(float)-16.0;
data.fajrAngle=(float)-13.5;
data.ishaAngle=(float)-16.0;
data.dist=10;
data.fiqh=1;
data.precision=1;
data.addMin=0;
data.secondsToCorrect=2;
data.maxErrorInSec=1;
data.rule=1;
data.temp=10;
data.pressure=0;
data.visibleLimit=(float)15;
data.adjust=0;
data.nMinutes=90;
data.programFlags=0X100;
strcpy(loc.name,"XCYZ");
loc.lat=33.0463;
loc.lon=-96.9939;
loc.zone=(float)-6.0;
loc.saveStr=0;
loc.saveEnd=0;
loc.height=0;
date.day=1;
date.month=11;
date.year=2005;
date.isValid=0;
outFile.open("SaTest.txt");
if (outFile)
{
if(SalisValidDate(&date,0)==True)
{
SalCalculate(&date,&loc,&data,output);
outFile << output;
outFile.close();
}
}
return 1;
}
Thx
SalQ