English
Instant Developer Foundation Documentazione
Aiutaci anche tu a migliorare la Documentazione: vai in fondo alla pagina, esprimi la tua valutazione sull'articolo e aggiungi il tuo feedback.
  • Reference Librerie
  • Document Orientation
  • ID Document
  • Informazioni

Get DNA

funzione link

Scopo

Questa funzione ritorna una stringa che identifica completamente questo documento. La stringa è composta concatenando in modo opportuno il nome della classe del documento ed i valori della proprietà identificative dello stesso. Il valore ritornato potrà essere usato successivamente per ricreare e ricaricare il documento senza conoscerne il tipo.

Sintassi

string dna := Document.GetDNA()

Argomenti

Questa funzione non ha argomenti.

Valore di ritorno

La stringa ritornata identifica il documento, concatenendo il nome della classe e il valore delle proprietà identificative del documento stesso. La lunghezza della stringa è quindi funzione di questi fattori.

Esempio di codice

// **********************************************************************************
// Evento notificato dal book quando l'utente esegue un operazione di drop su di esso
// **********************************************************************************

event Desktop.LibroDesktop.OnGenericDrop(
  string DragInfo // 
  inout boolean Cancel // 
  int Button      // 
  float X         // 
  float Y         // 
  int XB          // 
  int YB          // 
  int BoxID       // 
)
{
  // Mi è stato tirato sopra un documento...
  if NOT(ActivedDocument IS Null Object)
  {
    // Sopra al desktop, creo icona
    if BoxID = LibroDesktop.SfondoDesktop.Me()
    {
      IDDocument d := ActivedDocument // Actived Document
      IDDocumentStructure ds := d.GetStructure() // d.Get Structure ()
      string icon := Replace(ds.Icon, C16, C32) // Replace (ds.Icon, C16, C32)
      int newx := X - Offset Icona
      int newy := Y - Offset Icona
      // 
      newx := newx - newx % Larghezza griglia X + Offset Bordo
      newy := newy - newy % Larghezza griglia Y + Offset Bordo
      // 
      // Creo l'icona nel desktop

      insert values into Desktop
         set Descrizione := d.GetName(ZERO)
         set Tooltip := d.GetName(ONE)
         set Immagine := icon
         set IDImpiegato := Webtop.DatiSessione.IDImpiegato
         set PosY := newy
         set PosX := newx
         set DocDNA := d.GetDNA()
      // 
      this.Aggiorna()
    }
  }
  // 
  // Sto spostando un icona...

  if ToInteger(DragInfo) > ZERO
    ...
}
  • Se nelle versioni successive del progetto viene modificato il nome della classe o il numero delle proprietà identificative, le stringhe DNA generate dalle precedenti versioni dell'applicazione non funzioneranno più.
  • A partire dalla versione 10.1 se il documento è contenuto in un componente la stringa restituita dalla funzione contiene anche il nome della libreria (DLL/JAR) del componente.
    Se la libreria del componente è contenuta nella directory standard in cui normalmente risiedono i componenti (Bin per DLL C#, WEB-INF/lib per JAR Java) il DNA sarà nel seguente formato:
       [NOME_LIBRERIA]|[NOME_CLASSE],[PK]
    Se, la libreria è contenuta all'interno della directory dell'applicazione il DNA sarà nel seguente formato:
       Bin\[NOME_LIBRERIA]|[NOME_CLASSE],[PK]               per C#
       WEB-INF/lib/[NOME_LIBRERIA]|[NOME_CLASSE],[PK]       per Java
    
    Se, la libreria è contenuta altrove il DNA sarà nel seguente formato:
       [PERCORSO_COMPLETO_LIBRERIA]|[NOME_CLASSE],[PK]
    

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

Hai trovato utile l'articolo?

Grazie per il feedback!

Ti serve altro aiuto?

Consulta il Forum