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

Delete Object

procedura copia link

Scopo

Questa procedura elimina un oggetto dal progetto come avviene quando l'utente preme il tasto CANC su un oggetto dell'albero.

Sintassi

INDE.DeleteObject(id oggetto, id transazione, avviso all'utente,
  cancellazione forzata)

Argomenti

ID Oggetto Puntatore dell'oggetto da cancellare. Solitamente il puntatore ad un oggetto viene recuperato tramite una delle seguenti funzioni: GetNextObject, GetObjectByID, GetObjectByCode, GetObjectByName, GetParentObject, GetPropObject.
ID Transazione Identificativo della transazione in cui effettuare la cancellazione ottenuto tramite la funzione BeginTransaction.
Avviso all'utente Impostare a VERO per avvertire l'utente.
Cancellazione forzata Impostare a VERO per forzare comunque la cancellazione.

Esempio di codice

try
{
  INDEExtension INDE = null // Oggetto INDE
  int IDDocumento = 0       // Puntatore del documento
  // 
  // Mi connetto a IN.DE

  INDE.Connect()
  // 
  // Recupero il puntatore del documento aperto

  IDDocumento := INDE.GetActiveDocument()
  // 
  // Se c'è un documento aperto

  if IDDocumento > ZERO
  {
    int IDProgetto = 0 // Puntatore al progetto
    int IDOggetto = 0  // Puntatore dell'oggetto
    // 
    // Recupero il puntatore del progetto

    IDProgetto := INDE.GetRootObject(IDDocumento)
    // 
    Ricerca dell'oggetto
      ...
    // 
    Lettura e modifica dell'oggetto
    {
      // Se ho trovato l'oggetto
      if IDOggetto > ZERO
      {
         string GUID = ""    // GUID dell'oggetto
         int NumeroRighe = 0 // Numero di righe
         int DerivataDa = 0  // Puntatore dell'oggetto da cui deriva
         // 
         // Leggo alcune proprietà

         GUID := INDE.GetPropGUID(IDOggetto, GUID, ??)
         NumeroRighe := INDE.GetPropInteger(IDOggetto, Numero righe, ??)
         DerivataDa := INDE.GetPropObject(IDOggetto, Derivato da, ??)
         // 
         // Scrivo alcune proprietà

         INDE.SetPropGUID(IDOggetto, GUID, 4F6DEA72-5C55-E16E-C4D8-
           00DBCB8BC4A6, ??, ??)
         INDE.SetPropInteger(IDOggetto, Numero righe, NumeroRighe, ??,
           ??)
         INDE.SetPropObj(IDOggetto, Derivato da, DerivataDa, ??, ??)
         // 
         // Cancello l'oggetto

         INDE.DeleteObject(IDOggetto, ??, ??, ??)
      }
    }
  }
}
  • Occorre fare molta attenzione ad usare questa procedura in quanto potrebbe scatenare la cancellazione anche di altri oggetti.
  • Se un'oggetto non è cancellabile per qualche motivo è possibile forzarne comunque la cancellazione impostando a VERO il quarto parametro. Se si forza la cancellazione altri oggetti potrebbero perdere dei riferimenti e il progetto potrebbe diventare invalido e non compilabile.
  • Se il puntatore passato come parametro ID Oggetto non corrisponde ad alcun oggetto nel progetto aperto, allora verrà generata un'eccezione.

Ultima modifica: 22/08/2008 / Validità: da 7.1.3300

Vedi anche

  • 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)
  • Begin Transaction (funzione)

Hai trovato utile l'articolo?

Grazie per il feedback!

Ti serve altro aiuto?

Consulta il Forum