Power Builder - Abrir aplicacion VB y recoger parametros

 
Vista:

Abrir aplicacion VB y recoger parametros

Publicado por jose (86 intervenciones) el 04/12/2009 13:14:38
Buenas, tengo una aplicacion en PB, desde esta llamo a otra aplicacion en VisualBasic pasadole parametros, la idea es que igual que desde PB paso parametros a la aplicacion VB es poder hacer los mismo al contrario, es decir, cuando se cierre la aplicacion VB pasarle parametros a PB para que desde PB tener estos valores.

¿se puede realizar sin usar FICHEROS de TXT? para pasar paramtros a VB no hay problema, pero desde VB al cerrar puedo pasar parametros a PB? como recojo estos parametros desde PB en una aplicaion ya abierta?

Un saludo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Abrir aplicacion VB y recoger parametros

Publicado por miguell (108 intervenciones) el 05/12/2009 12:40:02
si no usas forms en visual basic, puedes definir tu main para que devuelve un valor (que luego puedes leer de la variable windows ERRORLEVEL):

http://msdn.microsoft.com/en-us/library/ms235406%28VS.80%29.aspx

"
Main can also return an Integer value, which the operating system uses as the exit code for your program. Other programs can test this code by examining the Windows ERRORLEVEL value. To return an exit code, you must declare Main as a Function procedure instead of a Sub procedure.
"

Module mainModule
Function Main(ByVal cmdArgs() As String) As Integer
MsgBox("The Main procedure is starting the application.")
Dim returnValue As Integer = 0
' See if there are any arguments.
If cmdArgs.Length > 0 Then
For argNum As Integer = 0 To UBound(cmdArgs, 1)
' Insert code to examine cmdArgs(argNum) and take
' appropriate action based on its value.
Next argNum
End If
' Insert call to appropriate starting place in your code.
' On return, assign appropriate value to returnValue.
' 0 usually means successful completion.
MsgBox("The application is terminating with error level " _
& CStr(returnValue) & ".")
Return returnValue
End Function
End Module
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Abrir aplicacion VB y recoger parametros

Publicado por miguell (108 intervenciones) el 05/12/2009 12:41:35
en este link te explican cómo modificar tu proyecto VB para que puedas también usar un Main() cuando tengas un proyecto con FORMS: (aunque no devuelven un valor en este caso).

http://en.allexperts.com/q/Visual-Basic-1048/return-value-VB-EXE.htm
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Abrir aplicacion VB y recoger parametros

Publicado por miguell (108 intervenciones) el 07/12/2009 16:16:18
hola José,

por fin he conseguido hacer las cosas con DLL's visual basic:
si siguies los pasos descrito en

1)
http://www.elguruprogramador.com.ar/articulos/crear-una-dll-con-visual-basic.htm
2)
registras la dll con "regsvr32.exe project1.dll"
3)
luego puedes llamar desde powerbuilder con este código a la dll:
-----------------------------------------------------------------------------------------
OleObject loo
string ls_titulo, ls_mensaje

loo = create oleobject
li_rc = loo.ConnectToNewObject("Project1.Class1") // lo suyo sería cambiar los //nombres por defecto al crear el proyecto de la dll pero bueo, sigo el ejemplo

IF li_rc < 0 THEN
DESTROY loo
MessageBox("Connecting to COM Object Failed", "Error: " + String(li_rc))
Return
END IF

// Perform some work with the COM object
ls_titulo = 'El título del Mensaje'
ls_mensaje = 'Esto es mi texto del mensaje.'
loo.MostrarMensaje( ref ls_titulo, ref ls_mensaje) // son por referencia por defecto en //visual basic

loo.DisconnectObject()
destroy loo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar