Newsgroup: it.comp.lang.visual-basic
Titolo: Passare ByRef una Form

Il mio quesito è molto semplice:
Pesa molto passare come riferimento ad
una procedura contenuta in un modulo la mia Form?
Ecco un esempio:
public Sub Imposta(ByRef objForm as object)
    objForm.Caption = "Prova"
end Sub
Conto sulle vostre risposte in quanto lo faccio parecchie volte.
Ciao
Oz
-- Carè Walter SIA SOFTWORK S.R.L.
Via Zanardelli, 13/A - 25062 Concesio (BS) Italy
Tel. 0039-30-2008135/0039-30-2091057  Fax. 0039-30-2004911
Web: 
http://www.siasoftwork.it
 - E.mai:- 
ca...@siasoftwork.it

 Oz
prova cosi':
    public Sub Imposta(f as form)
        f.Caption = "Prova"
    end Sub
la chiami con
    imposta f
ciao, a.

end Sub
Non dare retta a pal :) (hehe)
Un form (e credo anche tutti gli oggetti) vengono di default passati ByRef
(anche se li dichiari ByVal, provare per credere).
E' comunque più corretto dichiararlo esplicitamente.
Comunque, come tutte le var passate byref tu in realtà passi solo il
puntatore (long) e non l'oggetto, quindi è come se passassi sullo stack 4
byte.
ciao

 byte.
e quindi il tuo codice come diventa, sub e chiamata ?
<g>

ByRef (anche se li dichiari ByVal, provare per credere).
perchè, sic Delphi docet, gli oggetti sono puntatori
-- 
January 15, 2028 - Intel announces their new 400THz processor, which 
performs 100 billion floating-point operations in the millisecond before 
it consumes itself in a nuclear explosion. This is a step up from AMD's 
recent processor which simply fries any nearby user with bolts of plasma 
energy. Hobbyists are already looking into ways to overclock the chip.

Io non lo dichiaravo come Form perchè pensavo pessasse di più
che dichiarlo come come object.
1 altra domandina (ci conto Pal :) ):
Se richiamo tutte le procedure emettendo  il call, eseguo un
crimine?
Questo perchè vorrei evitare di finire in prima pagina domani!
A bando gli scherzi, è tassativo specificare il 'Call'?
Ciao
Oz

 perchè, sic Delphi docet, gli oggetti sono puntatori
e le copie dei puntatori restituiscono gli stessi oggetti puntati :)
--
Fibia "Sakamoto" FBI
E-mail: 
fibi...@hotmail.com
ICQ UIN 63586057
Sito Personale: 
http://www.geocities.com/fibiafbi
VB Simple: 
http://vbsimple.virtualave.net
Membro #25 delle Mitiche Brigate Takahashi sezione Sud

 ha scritto

non ho la minima idea di cosa pesi di piu'. ho l'impressione che se il form
che carichi e' ricco di controlli, sia lui, anche lo chiami con un
fischietto :)
"call": se lavori in un gruppo, dipende dalle regole. penso di si' perche'
e' piu' chiaro.
io non ne ho mai usato uno. mi fa ribrezzo. quando ne trovo in codice che
incollo, li tolgo accuratamente. attirandomi il biasimo dei Veri
Programmatori Ortodossi, temo.

Ok, proverò a chiamarlo con un Fischietto!
Ma se non mi risponde...che faccio?
Anche a me fa ribrezzo il Call (è un tipo strano..), quindi opto
per la politica Anti-Ortodossa....
Ciao
Oz

 per la politica Anti-Ortodossa....
plz usa le minuscole.
vorrei poter tornare in grecia, prima o poi...

una procedura contenuta in un modulo la mia Form?
]zac[

e le copie dei puntatori restituiscono gli stessi oggetti puntati :)
Giusto... non ci avevo pensato.
Ciao

...

Sì, sì... continua a dar retta a pal tu, che vai bene :)
Scusate, ma è più bello vedere scritto
    ' programmazione "a cocci": lettere sparse per il codice...
    a = Abs(b)
    b = Conta(a, c)
    FaiQuesto a, b, c
    Prova b, a, c, d
o
    ' programmazione ordinata e "compatibile" con altri linguaggi
    a = Abs(b)
    b = Conta(a, c)
    Call FaiQuesto(a, b, c)
    Call Prova(b, a, c, d)
Senza contare che
(1)
    MiaSub (a)
   e
    MiaSub a
*non* è lo stesso: "MiaSub a" equivale a "Call MiaSub(a)", mentre "MiaSub
(a)" è come Call MiaSub(ByVal a), quindi... tanto vale essere precisi già da
subito.
(2) Con Call MiaFunc(a, b), ci puoi premere Shift+F9 e vedi il risultato,
con "MiaFunc a, b" VB ti manda a... mettere la call.
Ciao

     Call FaiQuesto(a, b, c)
anch'io preferisco questa forma. il call mi da qualcosa di
piu'. non mi fa girar la testa quando vedo tante righe differenti.


Mi avete convinto!!!!
W il Call...
Ciao
Oz

W il Call...
Ottima scelta :)
ciao