Prueba algo asi
* Desde un metodo o evento del form1
Local VariableDelForm2
Do form form2 to VariableDelForm2
En el evento unload del form2 pon al algo asi
return Mivariable
Explicacion:
Con el do form obviamente llamas al form2 e indicas que el form2
devolvera un valor en la variable 'VariableDelForm2' una vez que se
cierre. Con el RETURN en el evento UNLOAD del form 2 mandas el valor a la variable anteriomente mencionada.
Si quieres mandar varios valores, la cosa cambiaria ya que tendrias
que meter todos los valores en una solo variable separados por un
caracter especial, el cual serviria para distinguir cada valor (despues
con algunas funciones harias el analisis de la cadena de caracteres,etc)
La verdad es que hay muchas formas de hacer lo que tu quieres, por
ejemplo, usa una variable publica definida en el form1, asi el form2 la
puede leer en cualuiqer momento,antes de salir del form2 solo pon los
valores en la varialbe publica asi el form1 puede lee tranquilamente,
lo mismo pasaria con arreglos (en caso que quieras mandar varios valores), etc.
Yo me quedaria, con le metodo que te di, que aunque es un poco mas
trabajoso, es mas ordenado y controlas mejor las variables.
Hay mas metodos pero...
Saludos