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

DO: Funzione DocI

copia link

Descrizione del difetto

Errore nell'utilizzo della funzione DocID qualora venga chiamata su un documento esteso. Il malfunzionamento si manifestava solo se la proprietà DocID era parte del documento esteso. Per esempio:

  • classe A che non derivava dal database che conteneva due proprietà;
  • classe B che estendeva la classe A, che derivava dal database e che possedeva quattro proprietà di cui la prima di tipo char-fixed lunga 20 caratteri (DOCID)
Il sistema, in questo caso, crea una classe B dotata di sei proprietà: due della classe base e quattro della classe estesa. In maniera errata indicava al documento B che la proprietà DocID era quella con indice uno (prima proprietà) invece di tre (terza proprietà). Quindi il risultato della funzione DocID restituiva il valore della prima proprietà invece del valore della terza proprietà.

Effetti del malfunzionamento

  • La funzione DocID restituiva il valore di una proprietà diversa dalla proprietà DOCID.

Soluzioni

Utilizzare la versione 8.5.3800. Qualora non sia possibile utilizzare tale versione è sufficiente, invece di utilizzare la funzione DocID, effettuare la chiamata

   String d := Doc.GetProperty(Doc.GetPropertyIndex('DO_ID', False, True, ??, ??))
ovvero recuperare il valore della proprietà il cui concetto è DO_ID. Il malfunzionamento, infatti, riguarda solo la comunicazione da parte di Instant Developer all'applicazione dell'indice specifico della proprietà DOCID. Se la ricerca viene effettuata tramite reflection, come nell'esempio sopra, il malfunzionamento non si manifesta.

Funzionalità interessate

L'uso della funzione DocID in applicazioni document oriented prodotte con Instant Developer.

Note

  • A causa del malfunzionamento se veniva chiamato il metodo Init su una istanza del documento esteso non veniva inizializzata la proprietà DOCID in quanto l'indice di tale proprietà era errato.

Ultima modifica: 25/10/2016 / Validità: da 8.5.3800

Vedi anche

  • Doc ID (funzione)
  • Init (procedura)
  • Estendere documenti con l'ereditarietà

Hai trovato utile l'articolo?

Grazie per il feedback!

Ti serve altro aiuto?

Consulta il Forum