Отправьте параметр String из VFP 9 в dll, созданную на c ++ Visual Studio

Я создал DLL в C ++ Visual Studio, используя OpenCV для захвата изображения с камеры. Я получаю параметры String.

Обычно при отправке я получаю сообщение «Объявление DLL вызвало исключение», и я не уверен, является ли проблема типом переменной, которую я отправляю на VFP, или типом, который я получаю на C ++.

DLL

extern "C"{
__declspec(dllexport) void CamPhoto(int,String);
}extern void __cdecl CamPhoto(int cam, string name)
{

char aux[100];
strcpy(aux, name.c_str());

CvCapture *capture = 0;
capture= cvCreateCameraCapture(cam);
IplImage *frame=0;

//SaveImage
char FileName[100];
char auxpath[100];

for(int i=0; i<2; i++){
frame = cvQueryFrame(capture);

sprintf(FileName,"/%s.jpg",aux);
strcpy(auxpath,"C:/Users/Emi/Pictures");
strcat(auxpath,FileName);

cvSaveImage(auxpath,frame);
}

cvReleaseCapture(&capture);
delete [] aux;

}

VFP

DECLARE CamPhotoIn "CamCapture.dll" INTEGER, STRING
CamPhoto(0, "TestVFP")

0

Решение

Попробуйте изменить на … Таким образом, вы пытаетесь принудительно передать указатель на строку вместо самой строки. Это может пройти через тебя.

DECLARE CamPhotoIn "CamCapture.dll" INTEGER, @STRING

testString = "TestVFP"CamPhoto(0, @testString )
0

Другие решения


По вопросам рекламы [email protected]