• Viernes 15 de Noviembre de 2024, 22:45

Autor Tema:  Llamada A Aplicacion  (Leído 1112 veces)

Fernando_P

  • Miembro activo
  • **
  • Mensajes: 88
    • Ver Perfil
Llamada A Aplicacion
« en: Domingo 22 de Febrero de 2004, 11:26 »
0
Hola!,
Se que he hecho esta consulta muchas veces, pero, aun estoy atascado con esto. Mi aplicacion debe ser capaz de llamar a una aplicación externa, no hecha en VB, que se ejecuta a traves de la consola de DOS.
El programa se llama hidra2. exe y tiene como parámetro de entrada un archivo.
Desde DOS para hacer funcionar la aplicación, se llama de la siguiente manera:

hidra2 <nom_archivo.dat.6
asi funciona sin problemas en DOS.
Lo que necesito es a traves de la interfaz que estoy desarrollando en VB, poder llamar a esa aplicacion y permitir que el usuario ingrese el parámetro. La idea es que el usuario no deba abrir la consola DOS para ejecutar la aplicacion.
ROBER.29 atendio mi consulta anterior y me dijo que probara el siguiente codigo:


Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Const SW_SHOWNORMAL = 1



Private Sub Command1_Click()

Dim Parameters As String

Parameters = "<hidra.dat.6"

ShellExecute Me.hwnd, "Open", "D:\Balsa\EULA\Modulos\Hidraulica\hidra2.exe", Parameters, "D:\", SW_SHOWNORMAL
End Sub

Lo probe y abre la aplicación, es decir, la ventana DOS que muestra cuando se esta ejecutando, pero no hace nada...no realiza los calculos que se supone debe hacer con el archivo de entrada.

Que puedo hacer, por que no resulta, que falta o sobra?

Ojala puedieran orientarme y ayudarme, porque debo integrar otras aplicaciones externas a la interfaz, y si no puedo con esta que voy a hacer con las otras?

Desde ya muchas gracias y espero su ayuda.
Saludos!

Brroz

  • Miembro de PLATA
  • *****
  • Mensajes: 1058
    • Ver Perfil
Re: Llamada A Aplicacion
« Respuesta #1 en: Miércoles 25 de Febrero de 2004, 17:52 »
0
Hola FernandoP.

Se me ocurre lo siguiente: crea un archivo de proceso por lotes (.Bat) y ejécutalo con Shell.
Código: Text
  1.  
  2. Private Sub ExecHidra(Byval UsrParm As string)
  3.     Dim intCanal As Integer
  4.     intCanal = FreeFile
  5.     Open &#34;C:&#092;Ruta&#092;Hidra.bat&#34; For Output As intCanal
  6.     Print #intCanal, &#34;hidra2 &#60;&#34; & UsrParam
  7.     Close intCanal
  8.     Shell &#34;C:&#092;Ruta&#092;Hidra.bat&#34;
  9. End Sub
  10.  
  11.  

Suerte.

Fernando_P

  • Miembro activo
  • **
  • Mensajes: 88
    • Ver Perfil
Re: Llamada A Aplicacion
« Respuesta #2 en: Miércoles 25 de Febrero de 2004, 20:08 »
0
Gracias Brroz,

SAbes que cuando ejecuto el codigo, me genera el archivo .BAT , pero al llamrlo para que se ejecute con shell, no se ejecuta.

Y es curioso porque yo ejecuto el .BAT haciendo doble click sobre el y se ejecuta la aplicacion sin problemas.

Si puediera ayudarme...
Muchas gracias.

Brroz

  • Miembro de PLATA
  • *****
  • Mensajes: 1058
    • Ver Perfil
Re: Llamada A Aplicacion
« Respuesta #3 en: Jueves 26 de Febrero de 2004, 09:06 »
0
Hola Fernando_P.

Repasa la ruta y el nombre del BAT, porque el código debiera funcionar sin mayor problema... De todas formas, si fallara la ejecución de Shell, el código debería dar un error, supervisalo.

Chao.

roxiii

  • Miembro activo
  • **
  • Mensajes: 79
    • Ver Perfil
Re: Llamada A Aplicacion
« Respuesta #4 en: Martes 2 de Marzo de 2004, 02:24 »
0
hola Fernando :D , que tal si pruebas las indicaciones del archivo adjunto.

Suerte. :devil:
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.