2016-06-03 3 views
0

Я новичок в Vb6 и работаю над приложением. Я создал стандартный проект exe, содержащий только одну форму (например, Form1) и ActiveX DLL, обе отдельные проекты. Я просто хочу знать, можно ли получить доступ к Form1 и его элементам управления из DLL? Если да, как я могу это достичь?Доступ к форме внутри DLL в VB6

+0

Если это не унаследованный проект, над которым вы работаете, я бы рекомендовал не использовать VB6 ... попробуйте Visual Basic или C# вместо этого ... – Matze

+0

Хотя это не рекомендуется, так как dll должно придерживаться бизнес-правил и а не презентацию, что можно сделать, - это вызвать вашу функцию dll и передать всю форму, если вы хотите в качестве параметра или более чистым способом, вызвать свою DLL-функцию и дать ей нужные ей значения. будь то в vb6 или что угодно – Gar

ответ

0

Да. Это вполне возможно. У нас есть код, который делает это все время.

В вашей DLL ActiveX вам нужен только метод, который приложение может вызывать для отображения формы.

public sub showTheForm() 
    MyForm.Show vbModal 
end sub 

Это будет работать отлично. Проблема заключается в том, когда вы хотите, чтобы ваша форма была дочерним элементом формы MDI, в которой работает основное приложение. Для этого мы используем компоненты, называемые MDIExtender от DevComponents.

+0

Спасибо Zippit. Решила проблему, используя ваше решение. –

Смежные вопросы