English
Instant Developer Foundation Documentazione
  • Estensibilità
  • Libreria
  • INDE Extension
  • Oggetti
  • Avanzate

Get Parent Object

funzione copia link

Scopo

Cerca nella gerarchia degli oggetti un "padre" dell'oggetto passato come parametro e ne ritorna il puntatore. Viene risalita la catena dei padri dell'oggetto specificato fino a che non ne venga trovato uno che soddisfi i criteri impostati. Può essere usata per esempio per risalire al database che contiene un certo campo o risalire all'applicazione che contiene un certo pannello.

Sintassi

int IDPadre = 0  // Puntatore dell'oggetto padre
// 
IDPadre := INDE.GetParentObject(id oggetto, tipo, maschera tipo, numero livelli,
  incluso me, incluse cartelle)

Argomenti

ID Oggetto Puntatore dell'oggetto di cui cercare un padre. Solitamente il puntatore ad un oggetto viene recuperato tramite una delle seguenti funzioni: GetNextObject, GetObjectByID, GetObjectByCode, GetObjectByName, GetParentObject, GetPropObject.
Tipo Tipo di cui deve essere l'oggetto padre. L'elenco dei possibili tipi è contenuto nella lista valori Tipi Oggetto. Il valore predefinito è 0 ossia qualsiasi tipo. In questo parametro è anche possibile esplicitare un "modello" di oggetto, che ne rappresenta un sottotipo, e una "versione", che rappresenta un ulteriore specificazione di tipo.
Maschera Tipo Parametro che indica quali parti del parametro Tipo verranno considerate; i possibili valori sono contenuti nella lista valori Tipi Maschera. Il valore predefinito è "Tipo" ovvero si considera solo il tipo di oggetto e non il modello e la versione.
Numero Livelli Livelli di paternità fino a cui si vuole risalire; se impostato a ZERO ci si ferma all'oggetto stesso, se impostato a UNO si risalirà fino al padre di primo livello e così via. Il valore di default è 9999, ossia tutti i livelli fino al progetto.
Incluso me Impostare a VERO se l'oggetto stesso deve essere incluso nella ricerca.
Incluse cartelle Impostare a VERO se le cartelle devono essere incluse nella ricerca.

Valore di ritorno

Viene ritornato il puntatore dell'oggetto padre trovato. Se nessun padre soddisfa i criteri specificati viene ritornato ZERO.

Note

  • Se il puntatore passato come parametro ID Oggetto non corrisponde ad alcun oggetto nel progetto aperto, allora verrà generata un'eccezione.
  • Chiamando questa funzione senza specificare alcun parametro opzionale, verrà tornato il padre diretto dell'oggetto passato come parametro.

Esempio di codice

while True = True
{
  int ObjID = 0   // Identificativo dell'oggetto
  int ObjType = 0 // Tipo di oggetto
  // 
  // Passo al prossimo oggetto

  ObjID := tw.GetNextObject()
  if ObjID = ZERO
  {
    break
  }
  // 
  // Leggo il tipo dell'oggetto

  ObjType := INDE.GetObjectType(ObjID)
  // 
  // Se è una tabella o un campo (non importata)

  if (ObjType = Tabella AND INDE.TestFlag(ObjID, Importato) = False)
    OR (ObjType = Campo Tabella AND INDE.TestFlag(INDE.GetParentObject(
    ObjID, Tabella, ??, ??, ??, ??), Importato) = False)
  {
    this.IndividuaParole(INDE.GetPropString(ObjID, Nome, ??), True)
  }
}

In questo esempio di codice, contenuto nella procedura Importa del progetto Gestione Glossario, si risale fino alla tabella che contiene un certo campo per verificare se la tabella è modificabile.

Ultima modifica: 23/03/2021 / Validità: da 7.1.3300

Vedi anche

    Scarica il progetto Gestione Glossario
  • Get Next Object (funzione)
  • Get Object By ID (funzione)
  • Get Object By Code (funzione)
  • Get Object By Name (funzione)
  • Get Parent Object (funzione)
  • Get Prop Object (funzione)

Hai trovato utile l'articolo?

Grazie per il feedback!

Ti serve altro aiuto?

Consulta il Forum