2016-06-03 3 views
0

Ich bin neu in Vb6 und arbeite an einer Anwendung.Ich habe ein Standard-Exe-Projekt mit nur einem Formular (sagen Form1) und einem ActiveX-DLL, beide separate Projekte. Ich will nur wissen, ist es möglich, auf Form1 und seine Steuerelemente von der DLL zuzugreifen? Wenn ja, wie kann ich dies erreichen?Zugriff auf ein Formular in einer DLL in VB6

+0

Wenn dies nicht ein Legacy-Projekt ist, an dem Sie arbeiten, würde ich empfehlen, VB6 nicht zu verwenden ... versuchen Visual Basic oder C# statt ... – Matze

+0

Eventhoot dies nicht empfohlen, da die DLL die Geschäftsregeln halten sollte nicht die Präsentation, was möglich ist, ist Ihre Dll-Funktion aufrufen und übergeben Sie das ganze Formular, wenn Sie als Parameter wünschen, oder auf eine sauberere Weise, rufen Sie Ihre DLL-Funktion und geben Sie die Werte, die es benötigt. sei es in vb6 oder was auch immer – Gar

Antwort

0

Ja. Es ist absolut möglich. Wir haben Code, der das ständig macht.

In Ihrer ActiveX-DLL benötigen Sie nur eine Methode, die die Anwendung aufrufen kann, um das Formular anzuzeigen.

public sub showTheForm() 
    MyForm.Show vbModal 
end sub 

Das wird perfekt funktionieren. Das Problem besteht darin, wenn Sie möchten, dass Ihr Formular ein Kind eines MDI-Formulars ist, auf dem die Hauptanwendung ausgeführt wird. Dazu verwenden wir eine Komponente namens MDIExtender von DevComponents.

+0

Danke Zippit. Das Problem mit Ihrer Lösung wurde gelöst. –

Verwandte Themen