Ich verwende ein "OrderLines" -Formular auf verschiedene Arten (nach Bestellnummer, nach Produktcode, nach Kunde, Lieferant, ...). Jede Instanz davon kann eine neue Instanz davon starten.wie ein Formular direkt in einer Sammlung zu instanziieren
Beispiel:
- die erste Instanz dieses Formulars alle Reihenfolge auflistet Linien einer bestimmten Reihenfolge
- indem in diesem Fall auf eine Produkt-ID Doppelklick, der Benutzer eine zweite Instanz dieser Form bringt, dass die Listen alle Linien, um dieses spezielle Produkts in Bezug auf
- von in der zweiten Instanz auf einen Kundencode Doppelklick, startet der Anwender eine dritte Instanz, die alle Auftragszeilen zu diesen spezifischen Kunden
- und so weiter ... 01 listet
In "Erklärungen" Modul:
Global cForms As Collection
Global fForms(20) As Form
In Aufruf Form:
x = boring_function_to_find_a_free_room_in_fForms()
Set fForms(x) = New Form_OrderLines
fForms(x).SetFocus
cForms.add Item:=cForms(x), Key:=CStr(cForms(x).Hwnd)
Meine Frage
Um die Form "Orderlines", verwende ich diese Art von Code zu instanziiert ist: Anstatt bohren_function_to_find_a_free_room_in_fForms() und fForms (x) zu verwenden, um das Formular zu instanziieren, gibt es eine Möglichkeit, es "direkt" in der Sammlung zu instanziieren?
Ich habe versucht:
cForms.add Item:=(New Form_OrderLines)
es funktioniert, aber:
1) jede neue Instanz schließt die vorherige Instanz
2) Ich weiß nicht, wie das Äquivalent zu schreiben "Schlüssel: = CStr (cForms (x) .Hwnd)"
Warum brauchen Sie cForms, wofür verwenden Sie es, das das Array nicht erreichen kann? Um in dem Array instanziieren seine Set fForms (langweilige_Funktion_zu_finden_einer_freien_Raum_in_Forms()) = New Form_OrderLines – Absinthe