Visual Studio 2012 — импорт VS C ++ DLL в C ++ Builder

Я создал проект с использованием C ++ / CLI в Visual Studio 2012. Графический интерфейс был создан в C ++ Builder XE2, и я хотел бы импортировать сгенерированную DLL из VS C ++ 2012, но я не смог правильно ее импортировать.

HINSTANCE load = LoadLibrary(library);
if (!load)
ShowMessage("Error importing the library");

К сожалению, когда я запускаю код после того, как использую функцию LoadLibrary, переменная нагрузка равна NULL. Любая помощь?

Я понял, что мне нужно использовать некоторые утилиты из C ++ Builder для преобразования DLL, сгенерированной Visual Studio, в формат Borland DLL.

Редактировать:

#include "stdafx.h"#include <windows.h>
#include <iostream>

using namespace cv;
using namespace std;

//Function declarations
__declspec(dllexport) void __stdcall TestCV();

//-------------------------------------------------------------------------------------------------
BOOL APIENTRY DllMain( HANDLE hModule, DWORD  ul_reason_for_call, LPVOID lpReserved )
{
return TRUE;
}
//-------------------------------------------------------------------------------------------------
void __stdcall TestCV()
{
Mat image;
image = imread("a.PNG", IMREAD_COLOR); // Read the file

if(! image.data ) // Check for invalid input
{
cout << "Could not open or find the image" << std::endl ;
return;
}

namedWindow( "Display window", WINDOW_AUTOSIZE ); // Create a window for display.
imshow( "Display window", image ); // Show our image inside it.
}
//-------------------------------------------------------------------------------------------------
int _tmain(int argc, _TCHAR* argv[])
{....}

Может кто-нибудь помочь мне в том, как импортировать эту DLL, сгенерированную из приведенного выше исходного кода из Visual Studio C ++ / CLI в C ++ Builder?

Edit2
Я выполнил сборку релиза и скопировал проект DLL, а также другие файлы DLL (я использую OpenCV). Теперь я получаю следующую проблему из проекта C ++ Builder:

Runtime Errror!
Program:

R6033
-Attempt to use MSIL code from this assembly during native code initialization
This indicates a bug in your application. It is most likely the result of  a calling a MSIL-compiled (/dlr) function from a native consturctor or from a DLLMain

0

Решение

Задача ещё не решена.

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


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