vbstreets conferințe - Vezi subiect - ByVal, byref ce este

Toate declarațiile WinAPI-funcții sunt găsite cuvinte cheie ByVal și ByRef. Știu ce înseamnă „de valoare“ și „link-ul“, dar unde și cum să le folosească? Prompt? Dacă este posibil exemplului.
De multe ori în codurile mele folosesc o grămadă de variabile duplicat. Simt că acest lucru nu este destul de corect - rodul turmei. Cred că utilizarea valorilor de transmisie „prin referință“ poate simplifica codul. Dar eu nu știu cum. Mulțumesc.

GSerg a scris (a): ByVal și ByRef - două opțiuni pentru o metodă. Faptul că VB nu acceptă indicii în mod explicit, dar încă susținută. parametru de transfer ByRef (acesta este utilizat în mod implicit, dacă nu specificați modul de transfer) - este transferul unui pointer la valoarea. Procedura gazdă ar trebui să fie de fiecare dată când parametrul pentru a obține valoarea indicelui. Transfer ByVal - transfer nu este un pointer, iar valoarea în sine. Funcția de recepție nu trebuie să zyrit indexate, pur și simplu contează. În limbajul C, de exemplu, indicatorul de transmisie la un întreg - int * a, și transferul întregului - int a. În transmisie indicatorul VB pe ansamblu - byref un (sau la fel de bine), transferul întregului - ByVal a.
Transferul ByVal are sens pentru valori numerice ca un indicator are de obicei o dimensiune de 4 octeți, numărul de transmis (de exemplu, pe termen lung) - de asemenea, astfel încât să puteți împinge imediat atât de repede. Un transfer ByRef indicii de transmisie efectivă la obiecte, structuri și matrice (toate acestea nu pot fi transmise ByVal), și, în plus, în cazul în care procedura apelată trebuie să fie în măsură să schimbe parametrul trecut, astfel încât această modificare este de a intra în vigoare în procedura de asteptare.

Cu cuvinte cheie funcția ByVal dll este transformat pentru a forma de scurgere (C) și afișarea tuturor modificărilor șirul sursă.

fără ByVal lucrezi direct cu un șir de caractere VB. și anume variabilă Stock este convertit în șir OLE (BSRT).

Fără celule. ByVal cuvânt este aproape întotdeauna conținutul memoriei este rupt și există excepții fatale

Cred că utilizarea valorilor de transmisie „prin referință“ poate simplifica codul.

hmm. Nu cred (((
lucra direct cu un șir de VB afacere mohorât. Cartea oferă un Epplmana detaliat toate explicate pe degete și pe exemple (Exemple sunt. Dacă doriți pot pune pe săpun sau arunca).

articole similare