Programación General > ASM (Ensamblador)

 Variables Local

(1/2) > >>

Enko:
Retorné un poco y assembly y y estoy haciendo buenos avances :P
(Voy por el tutorial 5 de iczelion)

El problema es este, cuando defino una variable como "local" dentro del WndProc y la uso, la aplicacion se cuelga.
Pasa por ejemplo cuando defino local ps PAINTSTRUCT. Cuando la paso como parametro por referencia a alguna funcion de la GDI, cuando ejecuto la aplicacion, es como que no arrancara, aunque sigue corriendo sin mostrar la ventana.

Estuve viendo codigos de fasm, y en ninguno se define variables en el WindProc como locales, en cambio en masm, la mayoría van ahí.

¿Que diferencia y inconveniente hay entre usar o no usar variables local?


El otro problema:
Si uso un editor de recursos para hacer un dialogo  y le coloco algun "componente" uqe no es de los mas comunes como si los son EDIT, LISTBOX, BUTTON...
El dialogo no se muestra a pesar que le recurso del dialogo compila bien, probe tanto usando el RC y el BRCC32 de borland.
Solo probé  con Fasm.

Eternal Idol:

--- Cita de: "Enko" ---El problema es este, cuando defino una variable como "local" dentro del WndProc y la uso, la aplicacion se cuelga.
Pasa por ejemplo cuando defino local ps PAINTSTRUCT. Cuando la paso como parametro por referencia a alguna funcion de la GDI, cuando ejecuto la aplicacion, es como que no arrancara, aunque sigue corriendo sin mostrar la ventana.
--- Fin de la cita ---

Depuralo  :P A grosso modo las variables locales estan en la pila, son perfectamente seguras y ampliamente utilizadas (son el 99% de las variables de los programas, tambien a grosso modo jeje).


--- Cita de: "Enko" ---Si uso un editor de recursos para hacer un dialogo  y le coloco algun "componente" uqe no es de los mas comunes como si los son EDIT, LISTBOX, BUTTON...
--- Fin de la cita ---

Supongo que sera por no llamar a InitCommonControls/InitCommonControlsEx, fijate en la MSDN.

Enko:

--- Citar ---Supongo que sera por no llamar a InitCommonControls/InitCommonControlsEx, fijate en la MSDN.

--- Fin de la cita ---
Gracias por el tip, debe de ser eso porque no llame a la funcion.

Respeto las variables locales, voy a ver que saco... es raro, pero en los ejemplos con los que viene fasm, son todas globales.

Eternal Idol:

--- Cita de: "Enko" ---Gracias por el tip, debe de ser eso porque no llame a la funcion.
--- Fin de la cita ---

De nadas  B)


--- Cita de: "Enko" ---Respeto las variables locales, voy a ver que saco... es raro, pero en los ejemplos con los que viene fasm, son todas globales.
--- Fin de la cita ---

Depuralo para ver donde se jode; Creo que los ejemplos que tenes son asi por una razon: FASM no soporta variables locales como MASM. Es mucho mas simple usar variables locales ya que son datos que estan dentro de la memoria del ejecutable (en la seccion .data por ejemplo).

Enko:

--- Citar ---(en la seccion .data por ejemplo).

--- Fin de la cita ---
Esos son los que uso. Yo me referia a :

--- Código: Text --- proc MyProc, var1, va2, var3local myLocal1 dd ?local myLocal2 dd ?endp  Pero si en el 90% se usan en la seccion .data, los dejo ahí.

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa