Sto cercando di gestire i Report su un Applicazione Web.
La mia idea e’ di crearli su un app Desktop che verra’ eseguita premendo un pulsante dall’app Web.
Tutto funziona perfettamente in Debug o se l’ app Web viene eseguita manualmente ( click su .exe e successivo collegamento tramite il browser)
Non funziona se l’ app Web viene eseguita tramite un servizio.
Il pgm desktop viene caricato in memoria (si vede nei dettagli della gestione attivita’) ma non compare lo schermo iniziale dell’app desktop .
Qualche idea su che cosa non va’.
Ecco il codice . Ho provato sia con SHELL (con e senza CMD o START) che con LaunchAndNotWait con lo stesso risultato.
'---------------------------------------------------------------------------
’ 3. Eseguo il Programma Report.exe
’ Con SHELL
’ Con LaunchAndNotWait
Un db o tabella in cui inserisci una riga che indica cosa deve essere stampato (con flag che se a 1 dice xhe il file è stato prodotto)
L’ app destop che lavora costantemente e ogni 30 sec. Verifica se non ci sono nuove righe da elaborare e marca come elaborate quelle di cui ha prodotto la stampa …magari producendo un file pdf
L’ app web verifica se la riga e’ passata in elabotaro e poi scarica il file pdf prodotto
Buona idea , anche se non riesco a capire perche’ Shell e LaunchAndNotWait non debbano funzionare se l’App web e’ eseguita come servizio.
Nel forum non ho trovato segnalazioni su questo problema, quindi suppongo debbano funzionare.
Probabilmente la webapp non puo eseguire altri eseguibili, potrebbe avere problemi con i permessi di eseguire attività nella shell
Io negli esempi ho sempre visto usare la shell nelle app desktop
Considera che un app web mi pare sia monothread il che , se usi la shell con il wait, bloccherebbe l’ attività della web app per qualunque client che ci sta lavorando o che si connettera’
Si ho anche controllato le autorizzazioni di sicurezza sulle cartella dove c’e’ il pgm Desktop.
lo strano e’ che se disattivo il servizio e lancio la web app manualmente tutto funziona alla grande , anche la possibilita’ di aprire piu’ sessioni contemporaneamente.
Sto provando a cambiare i parametri per creare il servizio, per vedere se cambia qualche cosa.
te la butto li. Hai provato a farlo con Javascript? Inserisci in pagina uno script JS che utilizza
ActiveXObject. Dovresti poter aprire la tua Applicazione Desktop.
Ij Xojo utilizzata il metodno ExecuteJavascript, cerca pure nella Documentazione, prende in ingresso una stringa, per l’appunto la tua funziona javascript.
E per Javascript cerca la funziona ActiveXObject per aprire un’applicazione Desktop.