English
Instant Developer Foundation Documentazione
  • Note di rilascio
  • Versioni precedenti
  • Versione 8.5.3800
  • Miglioramenti

ID: Parametri opzionali

copia link

Descrizione

Instant Developer permette di non specificare il valore dei parametri opzionali nelle chiamate a procedure e funzioni. Qualora il parametro abbia un valore predefinito tale valore viene automaticamente inserito al posto del parametro non specificato.

In generale è sempre possibile specificare solo i parametri necessari "saltando" parametri che non si desidera specificare. Instant Developer, infatti, sa quali parametri vengono specificati ed è in grado autonomamente di fornire alla funzione o procedura i parametri mancanti ovunque si trovino. In alcuni casi, però, non è possibile "saltare" i parametri opzionali scrivendo, per esempio:

   Funzione(par1, ??, ??, par4)
Qualora non sia permesso saltare parametri opzionali Instant Developer segnala l'errore "235 - La funzione [FUNZIONE] permette di non specificare i parametri opzionali solo alla fine della lista dei parametri". Il prossimo paragrafo descrive il motivo di tale limitazione e quando non è permesso saltare i parametri.

Override in C# e Java

I linguaggi C# e Java permettono di definire più volte la stessa procedura o funzione indicando un diverso numero di parametri:

  BOOL funct(int a, int b, int c)
  {
    ...
  }
  BOOL funct(int a, int b)
  {
    ...
  }
  BOOL funct(int a)
  {
    ...
  }
Per poter utilizzare tale funzione non è necessario creare tre diverse procedure o funzioni nella libreria del progetto Instant Developer. E' sufficiente crearne una con tre parametri ed indicare ad Instant Developer che se il secondo o il terzo parametro non vengono specificati non devono essere forniti alla procedura o funzione. Per fare questo è sufficiente attivare il flag NULL nella videata delle proprietà del parametro, come mostrato nell'immagine:


Se un parametro ha i flag "Opzionale" e "Null" attivi ed il parametro non viene specificato allora tale parametro non sarà fornito alla funzione. Se invece il flag "Null" non è attivo ed il parametro non viene specificato verrà fornito automaticamente il valore indicato nel campo "Valore di default". Nel caso il parametro abbia il flag "Null" e "Opzionale" attivo la procedura o funzione non permette di saltare i parametri poiché verrebbero forniti valori errati ai parametri. Infatti, tornando all'esempio precedente, se Instant Developer permettesse di scrivere

   funct(1, ??, 3)
poiché il parametro 2 non deve essere specificato (flag Null e Optional attivati), scriverebbe in C# o Java
   funct(1, 3)
fornendo il valore 3 al parametro b invece di fornire il valore 3 al parametro c come richiesto.

Funzionalità interessate

L'utilizzo di funzioni esterne al framework Instant Developer.

Note

  • Tale funzionalità è necessaria solo se vengono utilizzate funzioni o procedure esterne ad Instant Developer. I parametri opzionali delle funzioni e procedure scritte con Instant Developer, infatti, non vengono definite più volte come mostrato nell'esempio sopra pertanto il flag Null della videata delle proprietà dei parametri opzionali delle funzioni e procedure scritte con Instant Developer non deve mai essere attivo.

Ultima modifica: 29/10/2009 / Validità: da 8.5.3800

Hai trovato utile l'articolo?

Grazie per il feedback!

Ti serve altro aiuto?

Consulta il Forum