svaret, min ven, er i gang med parameter

, perpetual nybegynder journal.1, denne artikel først dukkede op på http: //www.undu. kom, vi alle har hørt den kode genbrug mantra.nogle af os er lidt langsommere til at vedtage nye fremgangsmåder, hvor gammel praksis er lige så godt som en gammel melodi.men tiderne, de skifter, og det er på høje tid at dyppe en tå til genbrug, selv om det kun er for at genanvende en form,.,,, jeg for nylig havde grund til at skabe en modal form at gøre nogle redigering af en plade af et gitter.det er hensigtsmæssigt at gøre det til en modal form, så brugeren kunne se hele af oplysninger på én gang.intet problem.jeg nævnte mainform er datasource. autoedit: = falsk, og alt var i orden.den modale form bestod af nogle klipper områder, en post - knappen, annullere knap og tre tilfælde hjælpere.ud over de post - og aflyse kontanthåndterende virksomheder, der var en keypress kontaktperson, der forvandlede træder i øje.jeg slukkede den overskrift udgang knap.redaktion blev indledt ved en knap på udkig bar på den væsentligste form.begrebet har fungeret godt i revisionen af ændringer, der er foretaget under redigeringen møde i en historie område.,,,,,, så udmærket gjorde modal form er, at jeg har besluttet at fordoble anvendelsen af form ved at anvende det til at tilføje en ny rekord i databasen.alt jeg gjorde var at udøve nogle runtime ændringer, ændringer i teksten, og jeg et par andre miljøer før åbningen som en modal form.mens kunden id område blev læst i modal form, det var slukket i tilføje form.mindst jeg troede, det var alt, der var for det.,,, jeg er stødt på et problem, fordi database i spørgsmål var en detalje i databasen, der er knyttet til en mester.intet problem.jeg vil blot kopierer datasource og tabel til et andet navn (dvs. kunde til custedit).så kan jeg nulstille tips til kopi er datasource.de klipper procedure kun skulle omfatte en gotocurrent funktion at harmonisere de to kopier og slutte med at genopfriske den oprindelige, for at sikre, at alle de ændringer, der blev konstateret.,,, redigere funktion var let at ændre:,,, begynder, frmcustomer: = tfrmcustomer. skabe (nul), med frmcustomer begynder, fldcustnum.readonly: = sandt; //nye sikre, du kan ikke ændre på det centrale område, overskrift: = "klippe kundernes; //nye gøre teksten angive funktion, tblcusted. gotocurrent (frmmain. tblcustomer); //nye harmonisere skygge tabel med mesteren, hvis ikke (sourcecusted.state i dseditmodes), så tblcusted.edit; //sikre ind i edit tilstand, prøv showmodal;//tage form, bruger det, og så mister det, endelig fri,,,,,,,,, tblcustomer.refresh; //nye ajourføre - data med bag kulisserne ændringer,,,,,, det med føje virkede ikke, så snart jeg klikkede på knappen under gennemførelse.det gav en klage om, at oplysningerne ikke var i edit tilstand.jeg sætter i breakpoints.jeg skiftede fra at anvende både at indsætte og tilbage igen.det program, vi blev på tblcustedit.append, selv når jeg gældende umiddelbart før at kilde var i edit mode umiddelbart før.dvs.,,, begynder, frmcustomer: = tfrmcustomer. skabe (nul), med frmcustomer begynder, fldcustnum.readonly: = falske, forklaring: = tilføje en kunde «, prøv tblcusted. både; //- bombe!!!!!!!!!!, undtagen showmessage ('editing problematisk);,,,,,,, showmodal; endelig fri,,,,,,,,, tblcustomer. friske;,,,,,,, hvis jeg lagde jeg tjekkede for dseditmodes over både erklæring og mærket med et breakpoint den debugger ikke ville udføre, det er optimeret eller ændret i placering af den ansvarlige.og koden peger tilbage på buttonclick begivenhed på knappen, når du er færdig på dialog kasser.jeg var forvirret hvalp.,,,, jeg var på vej til internettet, da jeg så, hvad problemet var.den newrecord metode til tblcustomer indgik fire standardfelt).det var formuleret i proceduren for eksempel:,,, tblcustomer. fieldbyname, ('carrier '). asstring: = fedex';,,, det var kopieret ordret til newrecord inden for den kopierede datasource.jeg kiggede på det i timevis for at lægge mærke til, at tblcustomer og tblcustedit ikke var en og samme [får for grimasse].problemet blev løst ved blot at rette op på det oprindeligt navn uoverensstemmelse.men jeg er kommet til den konklusion, at det er for let at begå den fejl igen.sooooooooo...,,, den nye metode er at anvende de kalder parameter i "med" stil.dvs.,,, begynder med datasæt begynder, fieldbyname ('carrier '). asstring: = fedex';,, fieldbyname ('gst '). asboolean: = sandt,,, fieldbyname ('pst'). asboolean: = sandt,,, fieldbyname ('approved '). asboolean: = falsk,,,,,,,,,, jeg har besluttet, at jeg vil bruge den til parameter oftere.det vil kræve en bemærkning eller to at være helt klar på hurtigt at læse, men jeg lover at bruge det til at dække min røv mod dumhed, som jeg har begået mod min deadline her i dag,.,,, håber det hjælper med til at forhindre en rynkede pande eller to i fremtiden.,,, mere sikkert kodning ideer, af gary mugford - mugford @ aztekisk net. kom, ovennævnte artikel, der genereres svar fra ramon pik og andy robinson.her er min opfølgning:,,, tak (ramon prik i nederlandene) om supplerende koncept bag min artikel.det er den slags replikker, som ofte kan være oplysende og nyttig for programmører, men derimod ekspertniveau.det er rigtigt, at den idé, der ligger bag sikre kodning er at eliminere fejl, udeladelser, så meget som muligt.feltnavn skiftende går på oftere, end jeg gerne ville.ramon har foreslået, vil nogle længde, for at undgå at nævne navne af hårde kodet inden navne, men foretrækker konstanter eller marken definitioner i data moduler.,,, men jeg har fundet fbn henvisninger let at lokalisere og ændre en standard grep nytteværdi.at lette udskiftning er konstanter forslag et snap er indlysende.men at lette kommer med en pris, lagerplads.i en app til anstændige kompleksitet, antallet af område navne kan være betydelig.og de er nødt til at være enhed plan globale konstanter har nogen værdi, og bør være anvendelse brede globale konstanter, at der er så stor værdi, som du ønsker.data moduler har udnyttelse, som de foreslår, men at tilføje endnu et lag af programkode.de er ikke det nødvendige i en korrekt forvaltning af sdi - grænseflade, hvor barnet er de kalder form er datasæt, hvor det er relevant,.,,, alt i alt, jeg finder forekomsten af ændrede felt navne (som negative indsættes navne) forekommer hyppigt nok, at jeg vælger ikke at betale tilbage.i gruppe programmering indsats eller i mdi ansøgninger, jeg umiddelbart kan se værdien i det første forslag og vil anbefale vedtagelsen.,,, i en e - mail, andy robinson fra sydafrika oplyste, at han havde tidligere haft problemer med indlejrede anvendelse af datasæt parametre.der var hans problem med uendelige kredsløb: "i denne form for struktur, ser det ud til, at du ikke kan stole på visse erklæringer.f.eks. at jeg ikke længere forsøg på dette... med dataset1 begynder, med dataset2 begynder,,,,,,,,,,,,,,,,, det er en anden situation, så er jeg sikker på, at man havde et fælles datasæt parameter er passeret gennem en automatisk metode som afterinsert.og han har ikke haft tid til at undersøge problemet og få det ned, den slags - - nu har fået mig til at se meget nøje på alle satte sig med erklæringer,.,,, ved den måde, kode model giver for de mest almindelige problem løsning på ni problem bemærket af andy.jeg har en witheof skabelon, som former:,,, med



Previous:
Next Page: