No puedes definir procedimientos dentro de un metodo de un formulario.
Deberias definir una clase de tipo ComboBox y sobrescribir el metodo "InteractiveChange".
Esta clase debe estar definida fuera del formulario. El codigo seria algo por el estilo:
DEFINE CLASS i_Ayuda as ComboBox
RowSourceType = 6
RowSource = 'TRABAJOA'
ColumnCount = 2
Width = 250
ColumnWidths = "50,200"
left = MCOL()
top = MROW()
Visible = .T.
PROCEDURE InteractiveChange
Thisform.edit1.value = This.Value
This.Visible = .F.
ENDPRO
ENDDEFINE
Y desde el fomulario que quieras invocar esta clase:
Thisform.AddObject("cmbHelp","i_Ayuda")
>Buenos días a todos. Guiandome por un artículo de Hilmar Zonneveld con este código agrego un combobox sobre un cuadro de edición en su evento RigthtClick.
>
>THISFORM.AddObject ("I_AYUDA","COMBOBOX")
>
>WITH THISFORM.I_AYUDA
> .RowSourceType = 6
> .RowSource = 'TRABAJOA'
> .ColumnCount = 2
> .Width = 250
> .ColumnWidths = "50,200"
> .left = MCOL(0,3)
> .top = MROW(0,3)
> .Visible = .T.
> .SetFocus
>ENDWITH
>
>Funciona perfecto. Pero una vez que el usuario elija una opción del combobox quiero agregar el valor seleccionado al cuadro de edición y quiero remover el combobox. Supongo que debo hacerlo en el evento click del combo creado. Bien. Pero la pregunta:
>
>¿dónde coloco el código del evento click del combo que acabo de crear?. Dentro del mismo evento en que creo el objeto me da error.
>
>Agradezco cualquier ayuda y disculpen si la pregunta es demasiado tonta.
>
>Saludos cordiales
>
>Manuel Tovar
>Barranquilla - COLOMBIA