Как назначить приложение .NET 4 WinForm для свойства владельца формы Delphi 7? - PullRequest
1 голос
/ 09 марта 2011

Мне нужно назначить приложение .NET 4 Winform в качестве владельца формы Delphi 7.

Я создал .dll в Delphi, которая содержит форму.Delphi .dll экспортирует методы для создания и отображения формы.

Я успешно загрузил Delphi .dll в мое приложение .NET и отобразил форму.

Теперь мне нужно иметь возможностьназначить приложение .NET (или основную форму приложения .NET) владельцем формы Delphi.

Ранее я создал приложение Delphi, которое взаимодействует с .NET через COM и назначает приложение Delphi.как владелец форм .NET с использованием следующего класса:

public class WindowHandleWrapper : IWin32Window
{
    public HandleRef m_Handle;

    public IntPtr Handle
    {
        get
        {
            return m_Handle.Handle;
        }
    }

    public WindowHandleWrapper(IntPtr handle)
    {
        m_Handle = new HandleRef(this, handle);
    }
}

Дескриптор приложения Delphi был передан как целое число в конструктор WindowHandleWrapper.

Я подозреваю, что решение будетбыть чем-то похожим, например, передать дескриптор Delphi в виде целого числа.Однако тип Delphi для свойства Owner формы - TComponent.Я просто не совсем уверен, как назначить дескриптор .NET владельцем формы Delphi.

Есть идеи?

1 Ответ

6 голосов
/ 09 марта 2011

Передайте свой дескриптор WinForm в DLL в качестве параметра и присвойте его Application.Handle перед созданием и отображением формы модально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...