Fråga : Den alternativa metoden av att hänvisa till bildar i en ta fram projekterar?

Några år sedan som jag gjorde en ömt ställe, ta fram 2003 projekterar att involverat en koppla ihop av beställnings- treeview för det 3rd partit kontrollerar som användes på en variation av bildar alltigenom projektera. Jag kom från en .NET-miljö, så jag startade att applicera någon klassificera-baserad methodology till ta fram för att projektera. område för

One, som jag experimenterade med, hänvisade till bildar och kontrollerar till och med ett beställnings- klassificerar strukturerar. Jag samlade en serie av allmänhet fungerar i en klassificeraenhet som gick en hänvisa till tillbaka till en närmare detalj bildar eller kontrollerar. Kontrollera mig exemplifierade en anföra som exempel av klassificera, kallade anslå fungerar och använde gången tillbaka hänvisar till för att ta fram UIEN kontrollerar, när som helst jag behövde att hänvisa till en närmare detalj.

This verkade för att fungera utan några problem, men jag undrade, om klassificera strukturerar är förhållandevis ineffektivt tar fram in?

jag gillar böjligheten, och organisationen av att använda klassificerar som hänvisar till fabriker för bildar och kontrollerar, som motsatt till det mer allmänning”smäll” beteckningssystemet, men, om den saktar projektera, besegrar på runtime, därefter som den förnekar fördelarna av flexibility.
Has, någon använde annars denna sort av bildar och kontrollerar att hänvisa till in tar fram? Förmiddag som I debatterar using denna på ett nytt, tar fram projekterar som gäller ganska några bildar och controls.
" klar "

Svar : Den alternativa metoden av att hänvisa till bildar i en ta fram projekterar?

<>>

 Igen ditt gå inte att vara kompetent att göra det här i den typiska OOPEN danar.  Du kan inte ha en basera att klassificera anmärker, då subclassen det och ändrar det.  Access/VBA stöttar inga av det.

Du kan skapa en textbox klassificerar och sjunker händelser med den och introducerar nya rekvisita och metoder, men den ska är samma för varje kontrollerar i appen, om inte du har separat klassificerar.

<>>

  Som jag sade, den verkar I-förmiddagen som saknar visionen, som I-stillbilden inte förstår egentligen vad den är ditt gå after. Detta:

Privata underForm_Load ()

GetForm (FORM_MAIN). Förse med text = ”testar förser med text stränger”,

Dunkla TempControl som kontrollerar
Fastställda TempControl = GetControl (FORM_MAIN, FORM_MAIN_TEXBOX_1)

Med TempControl
   .SetFocus
   . Text = ”testar”,
Avsluta med

Fastställda TempControl = ingenting

Avsluta suben

Precis gör inte avkänning till mig in att ta fram.  Den skulle är precis som enkelt och klarerare att göra:

Privata underForm_Load ()

Me.Caption = ”testar förser med text stränger”,

Me.Text0.SetFocus
Me.Text0.Text = ”testar”,

Avsluta suben

och utan alla extra fast utgift.  Så jag ser inte någon fördel till att använda GetForm (), GetControl () etc. precis för att få en hänvisa till till något.  Kanske vad är saknad, är det normalt, en ska bärare namnger en kontrollera något något liknande detta:

txtBirthDate
cbxHIPPAOnFile
lstSelectPatient

för att namnge av kontrollerar, och andra anmärker (using ett prefix), som är lättare att fungera med och hjälper egentligen med ändrings- och underhållssysslorna.

Och så långt som rutinerna, som du har som är inga resonera för att kretsa till och med alla bildar eller kontrollerar något liknande det.  Gör precis:

Allmänhet fungerar GetForm (ByVal sFormName) som bildar

   På felet GoTo GetForm_Error

   Fastställda GetForm = bildar (strFormName)

GetForm_Exit:
  Gå ut fungerar

GetForm_Error:
  Fastställda GetForm = ingenting
  Meritförteckning GetForm_Exit

Avsluta fungerar

  Som du kan se, Access/VBA har redan a bildar samlingen, och du kan använda syntaxen:

 Bildar (strFormName)

 att att få en hänvisa till till att använda en strängavariabel som innehåller det känt.  Och den har samlingar för precis omkring varje annan att anmärka som väl.

 Om det enda förlägga var det har krävt för att göra vad ditt pröva som ska göras är när du behöver att ha multipel anföra som exempel av en bilda.  Det behöver typisk att behandlas med något något liknande en GetForm (), som skulle underhåller en samling av öppnat bildar som det Access/VBA ska inte handtaget som på den är eget.  Men förutom det, där är ingenting, annars som jag kan funderare av var den är värd fast utgift.

JimD.

Andra lösningar  
 
programming4us programming4us