Tôi đang chuyển đổi C++ thành C++/CLI và muốn hiển thị một số lớp được quản lý dưới dạng đối tượng COM. Trong C# nó đã được dễ dàng và thiết lập [ComVisible] & kế thừa từ giao diện (cũng ComVisible) đã làm công việc. Tuy nhiên dự án C++ được xây dựng dưới dạng C++/CLI không xuất DllRegisterServer.ComVisible in C++/CLI
Đây là dự án mẫu (bắt đầu từ dự án CLR Console Application trong VS 2008).
#include "stdafx.h"
using namespace System;
using namespace System::Runtime::InteropServices;
[ComVisible(true)]
[Guid("E3CF8A18-E4A0-4bc3-894E-E9C8648DC1F0")]
[InterfaceType(ComInterfaceType::InterfaceIsDual)]
public interface class ITestInterface
{
void TestMethod();
};
[ComVisible(true)]
[Guid("1514adf6-7cb0-4561-9fbb-b75c0467149b")]
public ref class CliComClass : ITestInterface
{
public:
virtual void TestMethod()
{
}
};
int main(array<System::String ^> ^args)
{
Console::WriteLine(L"Hello World");
return 0;
}
Khi tôi chạy regsvr32 trên đầu ra .exe Tôi gặp lỗi khi không tìm thấy DllRegisterServer. Tôi đã thử google để được giúp đỡ nhưng không thành công.
Cảm ơn sự giúp đỡ của bạn Shay –