Ciao a tutti,
e' possibile lanciare una applicazione con il comando Shell di vb e passargli un parametro?
Se e' possibile come faccio poi a sapere nel programma lanciato il valore della variabile passata?
Vi prego AIUTOOOO
Ciao a tutti,
e' possibile lanciare una applicazione con il comando Shell di vb e passargli un parametro?
Se e' possibile come faccio poi a sapere nel programma lanciato il valore della variabile passata?
Vi prego AIUTOOOO
no non puoi farlo mi scpiace
con schell l'unico parametro è l'exe e poi il file da aprire es:
shell("c:/exploreer.exe" "c:/immagine.jpg")
no niente parametri
invece si può...
in effetti il file che l'applicazione deve aprire è un parametro...
shell("applicazione.exe " & par1 & "," & par2)
poi per recuperare i parametri:
dim params()
parmas=split(command,",")
e params è un array contente i valori par1 e par2
![]()
Grazie ,ma
Non mi e' chiaro come posso recuperare i parametri dall'eseguibile:
Split(command)????????
mi spiego meglio...
la stringa che passi a Shell deve essere tipo questa:
"applicazione.exe 5,9,10,25"
quindi in effetti non passi dei parametri a Shell, ma all'applicazione Applicazione.exe
Dentro a questa devi recuperare i parametri con la funzione command.
In questo caso command ti restituisce una srtinga contenente i parametri ( "5,9,10,25" ). La funzione split prende una stringa e costruisce un array dividendo la stringa in base al secondo parametro.
Quindi se chiami
params=Split(command,",")
prende la stringa restituita da command e costruisce un array con i parametri:;
params(0)=5
params(1)=9
params(2)=10
params(3)=25
meglio?
Va' Benissimo Ti ringrazio!!!
Ma c'e' solo un problema: non mi consente di lanciare piu' di due eseguibili dello stesso programma!!!!
Secondo te e' dovuto a un problema di codice? oppure c'e' qualche arcano mistero?
Ti spiego cosa faccio:
Ho una griglia;
ogni volta che ci clicco sopra lancio un eseguibile;
quest'eseguibile fa' un collegamento DDE ad un altro form del programma che contiene la griglia;
tutto funziona bene (grazie a te), solo che dopo aver lanciato due volte l'eseguibile (cioe' dopo aver cliccato per due volte sulla griglia), non mi consente di aprirne altri ossia dopo il secondo non va' avanti, se chiudo uno degli eseguibili aperti precedentemente invece, e riclicco sullo stesso rigo della griglia funziona!![]()
L'errore che mi da' e':"no foreign application responded to a dde initiate"!
che potrebbe sembrare un errore di connessione, ma se cosi' fosse, perche' a due alla volta funziona?
Spero di essere stato abbastanza chiaro
Grazie per i tuoi consigli
figurati...
xò per questo nuovo problema non so aiutarti.....sorry!