У меня есть проект VB6 (приложение Windows), и я должен перестроить модуль в существующем проекте VB6 в C # .net.
Модуль, который я разрабатываю на C # .net, должен быть dll и содержать несколько оконных форм. Мне удалось успешно вызвать dll консоли приложения c # из моего проекта vb6, но у меня возникают проблемы, когда я пытаюсь вызвать библиотеку классов C # с winforms из моего проекта VB6.
Это то, что я сделал для моего доказательства концепции - это файл класса в моем проекте библиотеки классов C # .net.
namespace TestDll
{
public interface IClass1
{
void DisplayMessage();
}
public class Class1:IClass1
{
void IClass1.DisplayMessage()
{
MessageBox.Show ("Displyaing message");
}
}
}
У меня есть форма в том же nemspace, и я планирую создать экземпляр Class1
и использовать ее объект в событии page_load в winform C #.
В моем проекте VB6 я хочу отобразить форму, которую я имею в моей C # .net dll. Я называю это этим кодом -
Private Declare Sub DislayMessage Lib "TestDll.dll" ()
Private Sub Command1_Click() //On button click event of the VB6 windows form
DislayMessage
End Sub
Я получаю сообщение об ошибке - «Не удается найти точку входа DLL в DisplayMessage в TestDll.dll»
Я не уверен, как решить эту ошибку. Я даже скептически отношусь к тому, что именно так Cll .net dll, который содержит некоторые winforms, должен вызываться из приложения Windows VB6.0.
Должен ли я создать экземпляр Class1
в своем коде VB6? Как мне решить эту ошибку?
Мой подход правильный? Есть ли лучшие способы сделать это?
ТИА.