Ventanas que retornan un valor

Hola. Soy nuevo en xojo.

Siguiendo un par de libritos digitales he conseguido hacer mi primera aplicacin muy simple de base de datos.

Pero me encuentro con un problema: Quiero hacer una ventana de busqueda y al pulsar en el botn “ok” retorne el registro seleccionado.
Todo est hecho, se muestran los valores, etc. Pero no se como hacer que el botn retorne el valor x
Y tampoco se como invocar a la ventana de busqueda.

La invocacin la hice as pero de error:

dim n as integer

n = VentanaBusqueda.showmodal

en el botn ok puse esto:

return x (en x est el valor)
VentanaBusqueda.close

alguien me podra dar un ejemplo de cmo se hace ?

Saludos y gracias.

Mira el ejemplo que trae Xojo: Desktop -> Windows -> InputWindow

Encontrado aqui: https://forum.xojo.com/37858-window-return-value/

Hola Cecilio Ruiz Fernandez

Siguiendo la misma lgica del ejemplo indicado por Jos, puedes hacer lo siguiente:

1.- En la VentanaBusqueda, creas una propiedad que la puedes llamar codigo, a la cual le asignaras el valor seleccionado a retornar en este caso x

En el boton Ok de la VentanaBusqueda, en el Evento Action, asignas el siguiente codigo:

Self.codigo = x
Self.close 

2.- En la VentanaBusqueda, creas un Shared Methods que lo puedes llamar ShowCodigo
en este mtodo asignas el siguiente cdigo:

Dim ven As New VentanaBusqueda
ven.ShowModal
Return ven.codigo

En los Shared Methods no necesitas crear el objeto y lo [b]puedes acceder desde la VentanaPrincipal[/b]

3.- Suponiendo que en la VentanaPrincipal tiene un TextField, a la cual le asignas el valor retornado al pulsar un enter

En el Evento KeyDown del TextField
If Asc(Key)=13 then
Me.text = VentanaBusqueda.ShowCodigo
End If

Espero haberte ayudado en algo

Saludos
Raul

Esta entrada del blog va a las mil maravillas: http://blog.xojo.com/2017/04/27/pass-values-with-an-api/

Raul he llegado a la misma conclusin y parece que te he leido la mente porque lo hice igual que me pones.

Muchas gracias a todos por vuestras respuestas en mi primer post.

Gracias de nuevo.