Henrik Jensen skrev:
> Er det nødvendigt at skrive 'Call' foran et kald af en 'Public sub'?
> Hvornår er det det og hvornår er det ikke og hvorfor?
Det er ikke nødvendigt at bruge Call - nogen kan lide det og andre
ikke. Det er helt op til én selv om man vil bruge den ene eller den
anden metode.
Den eneste forskel på de to metoder at kalde en procedure er syntaksen
i procedurekaldet. Der er ingen forskel på hvordan kaldet udføres
eller på hvad man kan/ikke kan.
Disse to kald er altså ækvivalente når programmet kører:
MinProc 1, 2
Call MinProc(1, 2)
Personlig synes jeg at det er synd, at man ikke må sætte parenteser om
argument-listen, uden også at skulle angive ordet "Call", men det
kommer VB.NET.
Her er yderligere fire varianter af procedure-kald, som alle er helt
ækvivalente, givet at proceduren, som kaldes, er defineret som:
Sub MinProc(ByVal Param1 As Long, Optional Param2 As Long, Optional
Param3 As Long)
Debug.Print Param1, Param2, Param3
End Sub
MinProc 1, , 3
MinProc 1, Param3:=3
Call MinProc(1, , 3)
Call MinProc(1, Param3:=3)
-------
Tomas
|