Autor
|
Tema: Error----->"invalid outside procedure" (Leído 6,078 veces)
|
USUARIO_DE_SOFTWARE_LIBRE
|
esoty haciendo un juego muy simple, cundo lo quiero compilar me salta este error: "invalid outside procedure" el codigo que pongo es este:
Option Explicit Dim vidas As Byte vidas = 3
Private Sub Picture1_Click() Picture1.Picture = LoadPicture(App.Path & _ "\1.gif") End Sub
Private Sub Picture10_Click() Picture10.Picture = LoadPicture(App.Path & _ "\3.gif") End Sub
Private Sub Picture11_Click() Picture11.Picture = LoadPicture(App.Path & _ "\2.gif") End Sub
Private Sub Picture12_Click() If vidas = 1 Then MsgBox "Fin del juego", "No te quedan más vidas haz perdido" Else vidas -1 MsgBox "Mal!", "Perdiste una vidas, ahora tienes" & vidas End If Picture12.Picture = LoadPicture(App.Path & _ "\m1.gif") End Sub
Private Sub Picture13_Click() If vidas = 1 Then MsgBox "Fin del juego", "No te quedan más vidas haz perdido" Else vidas -1 MsgBox "Mal!", "Perdiste una vidas, ahora tienes" & vidas End If Picture13.Picture = LoadPicture(App.Path & _ "\m2.gif") End Sub
Private Sub Picture14_Click() Picture14.Picture = LoadPicture(App.Path & _ "\5.gif") End Sub
Private Sub Picture15_Click() Picture15.Picture = LoadPicture(App.Path & _ "\4.gif") End Sub
Private Sub Picture2_Click() Picture2.Picture = LoadPicture(App.Path & _ "\6.gif") End Sub
Private Sub Picture3_Click() If vidas = 1 Then MsgBox "Fin del juego", "No te quedan más vidas haz perdido" Else vidas -1 MsgBox "Mal!", "Perdiste una vidas, ahora tienes" & vidas End If Picture3.Picture = LoadPicture(App.Path & _ "\m3.gif") End Sub
Private Sub Picture4_Click() Picture4.Picture = LoadPicture(App.Path & _ "\7.gif") End Sub
Private Sub Picture5_Click() If vidas = 1 Then MsgBox "Fin del juego", "No te quedan más vidas haz perdido" Else vidas -1 MsgBox "Mal!", "Perdiste una vidas, ahora tienes" & vidas End If Picture5.Picture = LoadPicture(App.Path & _ "\m4.gif") End Sub
Private Sub Picture6_Click() Picture6.Picture = LoadPicture(App.Path & _ "\9.gif") End Sub
Private Sub Picture7_Click() Picture7.Picture = LoadPicture(App.Path & _ "\8.gif") End Sub
Private Sub Picture8_Click() If vidas = 1 Then MsgBox "Fin del juego", "No te quedan más vidas haz perdido" Else vidas -1 MsgBox "Mal!", "Perdiste una vidas, ahora tienes" & vidas End If Picture8.Picture = LoadPicture(App.Path & _ "\m5.gif") End Sub
Private Sub Picture9_Click() Picture9.Picture = LoadPicture(App.Path & _ "\10.gif") End Sub
agradezco a quien me pueda dar una mano saludos
|
|
|
En línea
|
|
|
|
NYlOn
Desconectado
Mensajes: 842
OOOOHHHHHH, TARAGÜIIII xDDDDDD
|
Seria mucho mas facil que marques la linea donde aparece el error.
Gracias.
|
|
|
En línea
|
|
|
|
USUARIO_DE_SOFTWARE_LIBRE
|
tienes razon de olvide de eso, el error me lo marca cuando declaro le doi el valor a la variable "vidas", me marca el 3 saludos
|
|
|
En línea
|
|
|
|
NYlOn
Desconectado
Mensajes: 842
OOOOHHHHHH, TARAGÜIIII xDDDDDD
|
Ah ya entendi. Es porque solo le podes dar un valor a una variable en una funcion o sub funcion. Por ejemplo, en el Load de un Form (que es lo mas comun para estos casos). Lo podes sulucionar moviendo ese Vidas = 3 al evento Form_Load. Y otra observacion; estas poniendo Vida -1. Supongo que lo que estas tratando de hacer es restarle 1 al total de vidas, pero lo estas haciendo mal. El codigo correcto seria: Un saludo.
|
|
|
En línea
|
|
|
|
USUARIO_DE_SOFTWARE_LIBRE
|
ahora me salta otro error, cuando el programa llama a la varible vidas me dice que la variable no estña definida... ¡ pero si la declare en el el formulario (form_load) !! como tendria que declarar esta variable???
|
|
|
En línea
|
|
|
|
Sancho.Mazorka
Desconectado
Mensajes: 480
Gamer & Programador
|
intenta cambiarla el tipo no le pongas byte ponele otra como integer y no lo tenes que declarar en el form_load poruqe no te dejaria usarla en otro lado declarada asi como esta, esta bien arriba pone y si pones vidas = 3 estarias declarandola como constante y encima creo qeu esta mal al vidas = 3 declarada como habias dicho antes en el form_load ya que al principio va a ser 3 y la podes usar con el valor que tenga en el momento por cualquier procedimiento, ya que estamos de que es el juego de que se trata??? a mi no me funciona eso de yo habia hecho en un timer seg = seg + 1 y simepre me qeudaba en uno el timer no las sumaba y estaba declarado el tipo de la variable y tambioen lo probe sin option explicit y nada, ahsta declare en forma global la variable y anda porque puede ser yo queria hacer un tipo reloj cuando se activara el timer iba a sumar de a uno (es la uinica forma que se hacer un reloj). Gracias y salu2. PD: si no esta claro postealo y te lo hago un poco mas mejor . espero que eso solucione tu problema
|
|
« Última modificación: 3 Enero 2006, 05:36 am por Sancho.Mazorka »
|
En línea
|
|
|
|
Slasher-K
Desconectado
Mensajes: 1.477
|
intenta cambiarla el tipo no le pongas byte ponele otra como integer y no lo tenes que declarar en el form_load poruqe no te dejaria usarla en otro lado declarada asi como esta, esta bien arriba pone y si pones vidas = 3 estarias declarandola como constante y encima creo qeu esta mal al vidas = 3 declarada como habias dicho antes en el form_load ya que al principio va a ser 3 y la podes usar con el valor que tenga en el momento por cualquier procedimiento, ya que estamos de que es el juego de que se trata??? a mi no me funciona eso de yo habia hecho en un timer seg = seg + 1 y simepre me qeudaba en uno el timer no las sumaba y estaba declarado el tipo de la variable y tambioen lo probe sin option explicit y nada, ahsta declare en forma global la variable y anda porque puede ser yo queria hacer un tipo reloj cuando se activara el timer iba a sumar de a uno (es la uinica forma que se hacer un reloj). Gracias y salu2. PD: si no esta claro postealo y te lo hago un poco mas mejor . espero que eso solucione tu problema Mejor relee el tutorial porque tenés errores muy graves de conceptos básicos. JoKker, tenés que declarar la variable en el sector de Declaraciones, arriba de todo del módulo antes de cualquier procedimiento. Saludos.
|
|
|
En línea
|
A la reina de las profundidades que cuida los pasos de una sombra en la noche :*
|
|
|
|
karmany
|
Prueba a definir la vidas en un módulo de esta forma y siempre la tendrás definida en el proyecto:
Public vidas as integer
|
|
|
En línea
|
|
|
|
USUARIO_DE_SOFTWARE_LIBRE
|
ya probe con el modulo, pero me marca lo mismo, me marca el 3...igual que antes... gracias x la ayuda :'(
|
|
|
En línea
|
|
|
|
|
|