VB6 создал ocx на WinForm.NET?

1 - Общая идиома метода set Java:

 public void setFoo(int foo) {
     this.foo = foo;
 }

2 - При вызывании функции с этим объектом в качестве параметра

notifier.addListener(this);
5
задан onedaywhen 4 November 2009 в 08:30
поделиться

3 ответа

Я бы с радостью перешел с .NET на VB 6.0, используя Interop Forms Toolkit 2.0 от Microsoft именно для этой цели. Я делал это много раз. Другой путь может быть болезненным.

То, что беспокоит вашего коллегу, вполне реально. Возникает проблема: какой контроль сосредоточен в какое время и как определенные мысли обрабатываются под капотом. Ярким примером этого является переход между элементами управления.

Учтите, что у вас есть форма .NET с некоторыми элементами управления .NET и VB 6 Active X. Этот ActiveX также будет содержать элементы управления. Теперь, когда вы переходите через свою .NET-форму, когда вы переходите к ActiveX, вы ожидаете, что будет табуляция для всех элементов управления в ActiveX, но это не так! Вы сразу перейдете ко всему элементу ActiveX. Это проблема.

Теперь, если вы собираетесь пойти другим путем, .NET внутри VB 6.0, вы должны учесть это в коде. В этой статье CodeProject есть отличный класс ActiveXHelpers, который делает именно это. Но в основном все сводится к ручной обработке события KeyPressed, проверке наличия табуляции или shift + tab и ручному фокусированию следующего / предыдущего элемента управления.

Теперь в вашей ситуации вам нужно изменить код VB 6, чтобы он работал нравится. Скорее всего, будет меньше усилий переписать элемент управления в .NET. У меня никогда не было проблем с обновлением, но, как я уже сказал, я перешел только на .NET -> VB, а не наоборот. В любом случае, вероятно, будет много проблем, и у вас, скорее всего, возникнут другие проблемы, такие как погружение событий и определение разницы между дизайном и временем выполнения в VB.

0, вы должны учитывать это в коде. В этой статье CodeProject есть отличный класс ActiveXHelpers, который делает именно это. Но в основном все сводится к ручной обработке события KeyPressed, проверке наличия вкладки или shift + tab и ручному фокусированию следующего / предыдущего элемента управления.

Теперь в вашей ситуации вам нужно будет изменить код VB 6, чтобы он работал. нравится. Скорее всего, будет меньше усилий переписать элемент управления в .NET. У меня никогда не было проблем с обновлением, но, как я уже сказал, я перешел только на .NET -> VB, а не наоборот. В любом случае, вероятно, возникнет много проблем, и у вас, скорее всего, возникнут другие проблемы, такие как погружение событий и определение разницы между дизайном и временем выполнения в VB.

0, вы должны учитывать это в коде. В этой статье CodeProject есть отличный класс ActiveXHelpers, который делает именно это. Но в основном все сводится к ручной обработке события KeyPressed, проверке наличия вкладки или shift + tab и ручному фокусированию следующего / предыдущего элемента управления.

Теперь в вашей ситуации вам нужно будет изменить код VB 6, чтобы он работал. нравится. Скорее всего, будет меньше усилий переписать элемент управления в .NET. У меня никогда не было проблем с обновлением, но, как я уже сказал, я перешел только на .NET -> VB, а не наоборот. В любом случае, вероятно, возникнет много проблем, и у вас, скорее всего, возникнут другие проблемы, такие как погружение событий и определение разницы между дизайном и временем выполнения в VB.

В этой статье CodeProject есть отличный класс ActiveXHelpers, который делает именно это. Но в основном все сводится к ручной обработке события KeyPressed, проверке наличия вкладки или shift + tab и ручному фокусированию следующего / предыдущего элемента управления.

Теперь в вашей ситуации вам нужно будет изменить код VB 6, чтобы он работал. нравится. Скорее всего, будет меньше усилий переписать элемент управления в .NET. У меня никогда не было проблем с обновлением, но, как я уже сказал, я перешел только на .NET -> VB, а не наоборот. В любом случае, вероятно, возникнет много проблем, и у вас, скорее всего, возникнут другие проблемы, такие как погружение событий и определение разницы между дизайном и временем выполнения в VB.

В этой статье CodeProject есть отличный класс ActiveXHelpers, который делает именно это. Но в основном все сводится к ручной обработке события KeyPressed, проверке наличия вкладки или shift + tab и ручному фокусированию следующего / предыдущего элемента управления.

Теперь в вашей ситуации вам нужно будет изменить код VB 6, чтобы он работал. нравится. Скорее всего, будет меньше усилий переписать элемент управления в .NET. У меня никогда не было проблем с обновлением, но, как я уже сказал, я перешел только на .NET -> VB, а не наоборот. В любом случае, вероятно, возникнет много проблем, и у вас, скорее всего, возникнут другие проблемы, такие как погружение событий и определение разницы между дизайном и временем выполнения в VB.

Но в основном все сводится к ручной обработке события KeyPressed, проверке наличия вкладки или shift + tab и ручному фокусированию следующего / предыдущего элемента управления.

Теперь в вашей ситуации вам нужно будет изменить код VB 6, чтобы он работал. нравится. Скорее всего, будет меньше усилий переписать элемент управления в .NET. У меня никогда не было проблем с обновлением, но, как я уже сказал, я перешел только на .NET -> VB, а не наоборот. В любом случае, вероятно, возникнет много проблем, и у вас, скорее всего, возникнут другие проблемы, такие как погружение событий и определение разницы между дизайном и временем выполнения в VB.

Но в основном все сводится к ручной обработке события KeyPressed, проверке наличия вкладки или shift + tab и ручному фокусированию следующего / предыдущего элемента управления.

Теперь в вашей ситуации вам нужно будет изменить код VB 6, чтобы он работал. нравится. Скорее всего, будет меньше усилий переписать элемент управления в .NET. У меня никогда не было проблем с обновлением, но, как я уже сказал, я перешел только на .NET -> VB, а не наоборот. В любом случае, вероятно, возникнет много проблем, и у вас, скорее всего, возникнут другие проблемы, такие как погружение событий и определение разницы между дизайном и временем выполнения в VB.

Скорее всего, потребуется меньше усилий, чтобы переписать элемент управления в .NET. У меня никогда не было проблем с обновлением, но, как я уже сказал, я перешел только на .NET -> VB, а не наоборот. В любом случае, вероятно, возникнет много проблем, и у вас, скорее всего, возникнут другие проблемы, такие как погружение событий и определение разницы между дизайном и временем выполнения в VB.

Скорее всего, потребуется меньше усилий, чтобы переписать элемент управления в .NET. У меня никогда не было проблем с обновлением, но, как я уже сказал, я перешел только на .NET -> VB, а не наоборот. В любом случае, вероятно, возникнет много проблем, и у вас, скорее всего, возникнут другие проблемы, такие как погружение событий и определение разницы между дизайном и временем выполнения в VB.

2
ответ дан 15 December 2019 в 01:05
поделиться

Unfortunately I only have half an answer. We use a single VB6 OCX control on a .NET Form and it works without any issues. It is not used with any other .NET or OCX control on that form. It provides a specialized view into a database.

1
ответ дан 15 December 2019 в 01:05
поделиться

В нашем программном пакете есть смесь VB6 и .NET. Мы используем ряд элементов ActiveX, созданных на основе VB6, в приложениях VB.NET и C #. По большей части он работает на удивление хорошо.

Самая большая головная боль, которая у нас есть, заключается в том, что при изменении версии элементов управления VB6 мы должны повторно добавлять ссылки в проекты .NET. Кажется, что библиотеки взаимодействия .NET привязаны к определенной версии элемента управления, и он не может восстановить взаимодействие для новой версии, не удаляя взаимодействия из проекта и не создавая их заново. Немного мучительно, но я нашел способы сделать это, чтобы мне не пришлось удалять и воссоздавать все экземпляры элементов управления.

1
ответ дан 15 December 2019 в 01:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: