English
Instant Developer Foundation Documentazione
  • Reference Librerie
  • Document Orientation
  • ID Document
  • Data Base

Get From DNA

funzione statica link

Scopo

Tramite la funzione statica GetFromDNA è possibile creare e caricare da database istanze di documenti in maniera generalizzata, senza conoscere il tipo e le proprietà identificative.

Sintassi

IDDocument doc := IDDocument.GetFromDNA(dna, usa cache, numero livelli)

Argomenti

dna Stringa che identifica il documento da creare e caricare, solitamente ottenuta tramite la funzione GetDNA
usa cache Parametro opzionale booleano con valore di defalt true. Se impostato a true o lasciato vuoto il documento verrà ricercato nella cache di documenti locale prima di caricarlo dal database
numero livelli Parametro opzionale intero che indica il numero di livelli di sotto-documenti da caricare. Il valore di default è zero, che indica di caricare solo il documento richiesto e non i suoi sottodocumenti

Valore di ritorno

Viene ritornato il documento creato ed eventualmente caricato dal database

Esempio di codice

// **************************************************************************
// Evento notificato dal book quando l'utente esegue un doppio click nel book
// **************************************************************************

event Desktop.LibroDesktop.OnMouseDoubleClick(
  int Button // 
  int X      // 
  int Y      // 
  int XB     // 
  int YB     // 
  int BoxID  // 
  inout boolean Cancel // 
)
{
  // Apro il documento corrispondente all'icona
  if Button = Left AND BoxID = LibroDesktop.NuovoReport.Icona.Me()
  {
    IDDocument d := IDDocument.GetFromDNA(LibroDesktop.DocDNAIcona, ??, ??)
    IDForm f := d.Show(Popup)
    // 
    f.Left := XB + 64
    f.Top := YB - 32
  }
}

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

  • Se la stringa passata come parametro DNA contiene solo il nome della classe, allora verrà creato il documento ma non verrà caricato dal database.
  • Prima di iniziare il caricamento viene verificato che la stringa DNA contenga il valore per tutti i parametri identificativi del documento stesso.
  • Se in una versione successiva dell'applicazione viene cambiato il nome della classe o il numero delle proprietà identificative, allora non sarà più possibile utilizzare le stringhe DNA ottenute con la versione precedente dell'applicazione.
  • Se il documento non può essere trovato nel database esso rimane in stato non caricato (Loaded = false) ma non viene generata un'eccezione.
  • A partire dalla versione 10.1 se il DNA contiene il carattere | (pipe) il sistema utilizza ciò che è prima del carattere | come nome della libreria che contiene il componente e ciò che segue il carattere | come nome della classe di cui creare l'istanza. In particolare:
    1. Se il DNA è nel seguente formato
         [NOME_LIBRERIA]|[NOME_CLASSE],[PK]
      il sistema cercherà la libreria del componente all'interno della cartella in cui normalmente risiedono i componenti (Bin per DLL C#, WEB-INF/lib per JAR Java).
    2. Se il DNA è nel seguente formato:
         Bin\[NOME_LIBRERIA]|[NOME_CLASSE],[PK]               per C#
         WEB-INF/lib/[NOME_LIBRERIA]|[NOME_CLASSE],[PK]       per Java
      
      il sistema aggiungerà il percorso (Path) in cui si trova l'applicazione per calcolare il percorso completo della libreria del componente.
    3. Se il DNA è nel seguente formato:
         [PERCORSO_COMPLETO_LIBRERIA]|[NOME_CLASSE],[PK]
      
      il sistema cerca la libreria nel percorso indicato nel DNA.

Vedi Anche

  • Loaded (proprietà)
  • Get DNA (funzione)
  • Show (funzione)
  • Path (funzione)

Ti serve altro aiuto?

Consulta il Forum