.ro • Vezi subiect - Cum sa inchizi formularul corect

Prompt, cât de corect să descărcați formularul pe care VB6 nu a jurat-o?

Avem forma MDI primară.

Din meniu se numește forma tipăririi mandatului de ordine numerar (frmPKO).
Cod: Selectați toate submeniul privat mnuPKOrderItem_Click () 'completarea și tipărirea unei chitanțe de numerar
frmPKO.Show vbModal
End Sub

De asemenea, din meniu (deocamdată) numesc formularul de ajutor de imprimare la IFTS.
Cod: Selectați toate submeniul privat mnuIFNSItem_Click () 'completarea și tipărirea ajutorului către FSTI
frmIFNS.Show vbModal
End Sub

În mod separat, totul funcționează.

Pentru comoditate, vreau să tipăresc referința la IFTS după imprimarea SSP din același formular.
Cod: Selectați toate dacă MsgBox ("Ajutor de imprimare în IFNS?", VbYesNo + vbQuestion, "Print Help") = vbYes Apoi
frmIFNS.Show vbModal
Sfârșit Dacă

Și aici începe spălarea creierului:
Cod: Selectați toate Dim rsIFNS Ca ADODB.Recordset
"completați câmpul" Sumă de plată "
Setați rsIFNS = ADODB.Recordset nou
sSQL = "SELECTARE DE LA PKO WHERE nKart = '" numKart „„“
rsIFNS.Open sSQL, cnDB, adOpenStatic, adLockReadOnly
Dacă rsIFNS.recordCount = 0 Atunci "trebuie să scrieți mai întâi PKO
MsgBox "Pentru" txtFIOnp.Text vbNewLine "nu este emisă o comandă de numerar!", vbCritical, "PKO nu a fost emis"
"Opțiuni ************
cmdExit_Click
'Set rsIFNS = Nimic
"Descărcați-mă
'Ieșire Sub
"Opțiuni ************
Sfârșit Dacă
rsIFNS.Close

Private Sub cmdExit_Click ()
Setați rsIFNS = Nimic: Descărcați-mă
End Sub

Dacă ieșesc prin cmdExit_Click () sau trimit formularul din procedură, primesc o eroare 364 - obiectul este deja descărcat.
"opțiunea 1:
Cod: Selectați toate cmdExit_Click
'Set rsIFNS = Nimic
"Descărcați-mă
"opțiunea 2:
Cod: Selectați toate 'cmdExit_Click
Setați rsIFNS = Nimic
Descărcați-mă

Dacă trec (opțiunea 3)
Cod: Selectați toate 'cmdExit_Click
'Set rsIFNS = Nimic
"Descărcați-mă
Ieșire Sub

atunci formele derivate rămân, și fiecare trebuie închis separat. Semnificația "confortului" se pierde.

Aici, într-un fel. Desigur, este posibil să apelați fiecare formular în mod proastă prin meniu și fiecare dintre ele trebuie închis separat. Dar - PKO și referința sunt interdependente, aș dori să le leagă logic la utilizator.
Va spune cineva ce? În mod separat, o cerere către Hacker - îmi pare rău, nu mă trimite la căutare. Eram deja acolo.

Osteon a scris: alibek. Sunt un ceainic în VB, nu-l ascund. Dar VB6 nu știe ce este. Pregătește-te


Uneori, când inițializați un formular, trebuie să apelați o procedură în el. Care, de exemplu, trage baza de date, și listează valorile posibile, și așa mai departe - această procedură a fost numită în mod convențional alibek Pregătiți. Trebuie să o scrieți. S-ar putea să nu fie. Apoi, firește, nu trebuie să fie chemată. Puteți scrie codul în evenimentul Initialize / Load / Show al formularului - nu contează aici (guru, dacă nu este corect).

Un programator este un zeu local (C) I

De asemenea, bănuiesc că metoda .Prepare nu înseamnă metoda încorporată, ci metoda definită de utilizator (adică metoda scrisă de utilizator) pentru o anumită procedură de inițializare.

Luptați și căutați, găsiți și ascundeți

Vona cho. Am fost hacked acum. Vă mulțumim-prespasibo.
Ie sub
Cod: Selectați toate frm.Prepare 'dacă formularul are inițializare
respectat alibek a avut în vedere că verificarea este făcută, este formularul nu încărcate înainte?

Nu, nu este.
Am vrut să spun că în forma codului este posibilă declararea unei funcții publice Prepare, care va efectua câteva acțiuni pregătitoare care preced afișarea formularului. De exemplu, inițializați o conexiune la baza de date sau verificați drepturile de acces.
Cod: Selectați toate.
Dacă frm.Prepare () Apoi
frm.Show vbModal
altfel
MsgBox "Anularea operațiunii, motiv:" frm.Tag
Sfârșit Dacă
Descărcați frm
Setați frm = Nimic

Lasciate ogni speranza, voi ch'entrate.