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)
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, ??, ??, ??)
}
}
}
}
{
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
procedura