2011-02-06 21 views
8

E 'possibile utilizzare javascript nella creazione di applicazioni desktop di Windows. Uso Borland Delphi e ho bisogno di usare javascript nelle mie griglie.Javascript in applicazioni delphi

+0

Perché credi che jquery sia l'unica soluzione al tuo problema? –

+0

ya, non sono sicuro di quel tag a-word. –

+0

@Well ho cercato sul web una soluzione ma non ne ho trovato uno finora, quindi ho pensato di portare dal web ciò che funziona per me. – Gandalf

risposta

17

Verme, ho scritto una soluzione completa per voi. Guarda lo screenshot allegato sotto ...

Un riepilogo di base di ciò che posso dare è questo ... un componente che ti permette di eseguire javascript, chiamare delphi da javascript e accedere a funzioni e oggetti javascript dopo aver collegato un script.

Here is a link to an brief article Ho scritto descrivendo cosa si può fare con javascript. Alla fine dell'articolo c'è un file zip contenente il codice sorgente e un programma di esempio compilato che puoi usare per testare qualsiasi javascript tu voglia scrivere.

enter image description here

+0

Grazie mille sysrpl. – Gandalf

2

AJAX è una tecnologia comunemente applicata nelle applicazioni Web in cui javascript viene eseguito dal client. Tali concetti sono molto difficili da applicare nelle applicazioni desktop. È possibile utilizzare thread in background per eseguire attività costose per evitare il blocco dell'applicazione e quindi aggiornare l'interfaccia utente con i risultati di queste attività in background.

+0

Voglio creare alcune catene e ogni casella di selezione in base alla successiva, ad esempio: Scegli Anno -> Scegli Termine -> Scegli Classe -> Scegli Oggetto/i -> renderGrid(); – Gandalf

+0

@objectiveME, in questo caso ti iscriverei per i rispettivi eventi di modifica dei menu a discesa sul modulo e quando vengono attivati ​​compila il successivo menu a discesa. –

+0

E la griglia stessa, posso crearla con i campi che ho scelto come ho previsto? – Gandalf

1

È possibile utilizzare uno degli interpreti JavaScript disponibili sul mercato. Prima di tutto è Windows Scripting Engine stesso, che offre JScript (delphi wrapper sarebbe necessario per un lavoro confortevole). Successivamente, è FastScript di FastReports. Ce ne sono altri disponibili, ma al momento non ricordo i nomi.

Il problema, tuttavia, è che la lingua stessa non è sufficiente. Quello che sembra voler utilizzare è il codice JavaScript che utilizza HTML DOM e varie classi di browser. Ovviamente non sono disponibili a meno che tu non abbia un motore del browser stesso nel tuo programma. Cioè se si incorpora TWebBrowser o si collega al motore Mozilla, si ottiene il browser ed è possibile eseguire gli script all'interno della finestra del browser.

Ma se si desidera automatizzare la GUI Delphi con JavaScript, questa non è probabilmente la migliore idea - il codice JavaScript localizzato nel browser sarà inutile per questo.

2

Grazie sysrpl sacco.

Questa soluzione basata su ActiveX e Internet Explorer. Necessario per scrivere troppo codice aggiuntivo per ogni funzione/timore JavaScript che si intende utilizzare.

Consiglio vivamente di dare un'occhiata a SpiderMonkey (Firefox) wrapper javascript. È pronto per RTTI.

http://code.google.com/p/delphi-javascript/

Richiesti solo 1 DLL. Compatibile con XE2/XE4/XE5. Pronto per i sistemi x86 e x64.