Come si usa un componente
copia linkIntroduzione
Come già visto nel capitolo precedente, un componente Instant Developer assomiglia ad una applicazione web anche se presenta alcune differenze sostanziali:
- Un componente non può essere direttamente avviato. E' un componente quindi è pensato per fornire un servizio all'applicazione web o web service che lo utilizza.
- A differenza di un'applicazione web ordinaria il componente viene compilato generando un unico file di uscita con estensione DLL o JAR a seconda che venga utilizzata, rispettivamente, la tecnologia C# o Java.
Creazione di un nuovo componente
Per creare un nuovo componente è sufficiente selezionare il comando Aggiungi componente presente nel menù contestuale dell'oggetto Progetto, come mostrato nell'immagine:
Comando di menù contestuale da utilizzare per creare un nuovo componente.
Instant Developer creerà un nuovo oggetto all'interno del quale sarà possibile inserire tutto ciò che è richiesto per la creazione del componente. Per compilare il componente si procede allo stesso modo in cui si compilano le applicazioni prodotte con Instant Developer. Si preme F5, o si seleziona il comando Compila presente nel menù principale di Instant Developer e il componente apparirà nella videata di compilazione:
Compilazione di un componente.
Come mostrato nell'immagine il comando "Esegui applicazione" non è attivo poiché un componente non può essere avviato.
Un componente può essere compilato con le informazioni di debug. Questo può essere utile qualora l'applicazione web che utilizza il componente sia anch'essa compilata con il debug attivato. In questo caso il componente inserirà le proprie informazioni nella stessa videata di debug dall'applicazione web e sarà così più semplice capire come il componente interagisce con l'applicazione web.
Uso del componente
Un componente, per poter essere utilizzato, deve essere contenuto all'interno dello stesso progetto in cui si trova l'applicazione che lo utilizza. Solo in questo modo sarà possibile utilizzare, all'interno dell'applicazione che usa il componente, gli oggetti che quest'ultimo contiene e rende disponibili. Per poter usare il componente è sufficiente utilizzare, all'interno delle applicazioni web o web service, direttamente gli oggetti contenuti nel componente. Per esempio se il componente contiene una videata pubblica sarà possibile inserire la riga di codice
Videata.Show()all'interno dell'applicazione che usa il componente. Non è, infatti, necessario indicare che l'applicazione usa il componente. Il solo fatto che l'applicazione contenga riferimenti agli oggetti contenuti nel componente è sufficiente ad Instant Developer per sapere che quell'applicazione utilizza quel componente.
Quando l'applicazione web o web service viene compilata Instant Developer gestisce automaticamente la compilazione del componente e la copia dei file DLL o JAR all'interno dell'applicazione. Quindi non è necessario compilare manualmente il componente, copiare i file DLL o JAR nella directory giusta e poi avviare l'applicazione. Instant Developer, infatti, durante la compilazione di un'applicazione web o web service, effettua le seguenti operazioni:
- Analizza l'applicazione da compilare per identificare l'elenco dei componenti da questa utilizzati.
- Per ogni componente verifica se è stato modificato dopo l'ultima compilazione dell'applicazione che lo utilizza. Se questo è il caso Instant Developer passa alla compilazione del componente e la procedura riparte dal punto 1 per la compilazione del componente che, a sua volta, potrebbe utilizzare propri componenti.
- Se il componente non può essere compilato, perché è stato importato ed il fornitore del componente non ha reso disponibili i sorgenti, Instant Developer verifica se la data/ora del file DLL/JAR presente nella directory di output dell'applicazione in fase di compilazione è successiva al file DLL/JAR presente nel file IDZ da cui è stato importato il componente. Se il file DLL/JAR non esiste nella directory di output dell'applicazione in fase di compilazione o il corrispondente file presente nel file IDZ è più recente, Instant Developer aggiornerà il file necessario alla compilazione dell'applicazione estraendolo dal file IDZ e copiandolo nella directory di output corretta.
- Terminata la compilazione/aggiornamento del componente Instant Developer prosegue con la compilazione dell'applicazione.
Esportazione componente
Un componente Instant Developer può essere esportato sia per poterlo utilizzare in altri progetti sia per poterlo fornire ad altri programmatori. Per poter esportare il componente è sufficiente utilizzare l'apposito comando Esporta componente presente nel menù contestuale del componente stesso:
Comando di esportazione del componente.
Se il componente non è mai stato esportato prima Instant Developer creerà un nuovo file binario con estensione IDZ inserendovi:
- I sorgenti del componente qualora il flag Esporta sorgenti presente nella videata delle proprietà del componente sia attivo
- L'interfaccia del componente che permette di utilizzarlo senza avere a disposizione i sorgenti dello stesso.
- I file DLL e JAR risultanti dalla compilazione del componente. Se il flag "Entrambe tecnologie" presente nella videata delle proprietà del componente non è attivo verrà inserito nel file IDZ solo il file relativo alla tecnologia attualmente selezionata nel componente.
N.B.: La proprietà File di aiuto presente nella videata delle proprietà del componente può essere utilizzata per contenere l'URL di una pagina web che descrive il compontente. Infatti, quando il componente viene importato, Instant Developer apre l'URL presente in tale proprietà se valorizzata.
Importazione componente
Qualora si desideri utilizzare un componente in un progetto esistente occorre tenere presente di quanto detto sopra: per poter utilizzare un componente è necessario che questo sia contenuto all'interno dello stesso progetto in cui si trova l'applicazione che lo utilizza. Pertanto se vogliamo utilizzare un componente all'interno di un progetto esistente occorre selezionare il comando "Importa componente" dal menù contestuale del progetto:
Comando di importazione di un componente nel progetto.
Instant Developer aprirà la seguente videata necessaria all'importazione:
Videata di importazione dei componenti.
Come mostrato nell'immagine la videata è divisa in due parti: la parte superiore elenca tutti i file IDZ noti al momento dell'apertura della videata. Instant Developer elenca tutti i file IDZ contenuti:
- Nella cartella c:\Program Files\INDE\Components. Questa cartella è pensata per contenere i componenti comuni ovvero quei componenti che si desidera inserire in più progetti. I file IDZ che si trovano in questa cartella sono identificati dall'icona .
- Nella cartella ove risiede il progetto in cui si sta importando il componente. I file IDZ che si trovano in questa cartella sono identificati dall'icona .
Se si clicca su un componente nella lista in alto Instant Developer mostrerà nella lista in basso il contenuto del file IDZ selezionato. Nell'immagine è possibile osservare che il componente TestComponent contenuto nella directory C:\TEMP contiene la versione 2.1 del componente ProvaComponent e che può essere utilizzato sia in applicazioni C# che in applicazioni Java. Qualora il componente sia stato esportato con i sorgenti Instant Developer lo elenca due volte, come mostrato nell'immagine: la prima volta con l'icona nella colonna Src. Tale icona indica che se selezioniamo questa riga il componente verrà importato con i sorgenti. Se, invece, selezioniamo la seconda riga importeremo solo le interfaccie del componente e non sarà possibile compilarlo. Qualora il componente venga esportato senza sorgenti sarà presente solo la seconda riga.
Nella lista viene anche mostrato con quale versione di Instant Developer è stato prodotto il componente. Qualora la versione del componente sia differente da quella di In.de, il componente non potrà essere importato.
Quando si seleziona una riga della seconda lista è possibile premere il bottone Importa. Tale pulsante non è attivo se la versione di Instant Developer è diversa da quella del componente o se la licenza attiva al momento dell'importazione non permette l'uso del componente nella tecnologia in cui è stato esportato. Per esempio se si possiede una licenza Java non è possibile importare un componente che sia stato esportato solo per applicazioni C#.
Ultima modifica: 23/03/2021 / Validità: da 9.0.3940