Visual Basic - léxico informático

Life is soft - evento anual de software empresarial
 
Vista:

léxico informático

Publicado por Julie (12 intervenciones) el 28/02/2005 18:44:02
saludos a todos!
En mi relación con VB y WIN me he encontrado con una gran cantidad de términos que apesar de uisarlos, mi conocimiento sobre los mismos es prácticamente nulo, me gusataría que por favor me los expliquen (si no es mucho pedir).
En las conversaciones que he tenido con mis amigas las APIS mientras tomábamos el té me han dicho las siguientes palabras que no entendí, aunque igual logramos comunicarnos:
Module
Heap
Thread
Handle (lo interpreto como una dirección a algo)
Class
DC (entiendo que es Device Context) (lo siento muy parecido a Handle)
Por otro lado también tengo otra duda sobre windows, un elemento que desconozco, pero considero muy importante, los mensajes. ¿qué son los mensajes de windows? ¿cómo funcionan? (he visto muchyas apis relacionadas con ellos y parecen poder hacer cualquier cosa). Lo que yo interpreté apartir de mi experiencia es que cad vez que hacemos algo en un programa, como por ejemplo clickear un boton, se envía un mensaje que al programa que le indica que esto ha ocurrido, ¿es así o estoy equivocada?

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:léxico informático

Publicado por Benjo (679 intervenciones) el 28/02/2005 19:33:06
Estas son definiciones poco científicas pero lo más cercano a la realidad que un programador de Visual debe saber, cualquier purista de C puede creer que exagero o es mínima la explicación, pero es sólo una breve y resumida explicación.
Modulo: En Visual Basic es una porción de código Público o Privado que interactua con los demás módulos, clases u objetos en el Proyecto
Heap : en Visual es conocida como la Pila es una área predefinida de memoria que puede ser accesada por las aplicaicones para almacenar datos y variables, éstos son asignados a la pila (heap) por el sistema en C es posible predefinirlo, en Visual se encarga el subsistema de Windows. Heap en inglés significa "montón"
Handle : es el manejador de toda ventana o windows. Es un código interno que se usa para referirse a un elemento específico manejado por el sistema, incluyendo una ventana, un mapa de bits, un icono, etc
Class: Es la clase de un objeto, en Visual poco verás de esto, ya que sólo se maneja en las APIS y muy poco. Cuando vos creas una clase en Visual no tiene nada que ver con las Class de los windows. Los objetos en C son todos Class y se define su nombre y estructura al momento de crear el objeto.
DC: El Device Context nada tiene que ver con el Handle, el DC refiere a la identificación del controlador de contexto de un objeto y que te permite interactuar con el mayormente en forma gráfica. Obviamente uq etambién estan los objtetos no gráficos como las impresoras o printers, pero eso es otra historia.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:léxico informático

Publicado por SADE (322 intervenciones) el 01/03/2005 00:11:35
el heap es el monton como dices y no la pila.
veelo como una zona donde puedes almacenar variables globales o para cuando reservas memoria dinamica.
mayormente para almacenar varias cosas como variables globales o cuando necesitas memoria dinamica (memoria que necesitas en tiempo de ejecucion)

el stack es la pila
mayormente utilizado para variables locales y para el paso de parametros cuando llamas a una funcion o procedimiento, la informacion se "destruye" cuando sales del procedimiento o funcion.
en esa area lo ultimo que almacenas sera lo primero que puedas sacar.

los mensajes son eso mensajes o notificaciones :)
windows envia a tu ventana\controles mensajes cuando algo sucede, visual basic ejecutara un evento que es simplemente un procedimiento cuando reciba un mensaje. los mensajes lo recibira una funcion que mayormente es llamada el WNDPROC.

*en realidad no se destruye la informacion de la pila pero asi dicen muchos libros jeje, solo queda libre para ser sobreescrita.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:léxico informático

Publicado por Julie (12 intervenciones) el 01/03/2005 14:55:18
muchas gracias por agregar palabras a mi diccionario mental :) ;)
me gustaría entrar a ese pasillo largo y oscuro de la oficina de correos,
¿podrían hablarme más sobre los mensajes? ¿hay un cola de mensajes par cada programa (message queue?)? )conozco la existencia de varias apis para mensajería de windows: BroadcastSystemMessage, DispatchMessage, GetInputState, GetMessage, GetQueueStatus, PeekMessage,PostMessage,PostQuitMessage,SendMessage,SendMessageTimeout,TranslateMessage,WaitMessage
¿puedo usar alguna de estas apis para hacer un programa que registre los mensajes que llegan a una ventana, ya sea incorporándolos en un textbox, listbox u otro control? y así luego teniendo conocimiento de los mismos utilizarlos en las apis de envío de mensajería. Por ejemplos u caso concreto sería como averiguar el mensaje que es enviado a word cuando se clickea el boton guardar, y luego aviéndolo identificado, poder enviarlo desde una aplicación de visual basic.
el mail mató a la estampilla :(, saludos!!! :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:léxico informático

Publicado por Benjo (4 intervenciones) el 01/03/2005 19:23:20
Podés hallar mucho material en AllApi.net, auque está bastante desactualizado, seguramente allí habrá interesantes link
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:léxico informático

Publicado por SADE (322 intervenciones) el 02/03/2005 01:34:48
si quieres ver los mensajes que llega a cualquier ventana o control que este dentro de tu proceso solo tienes que hacer un "subclassing" (cambiar la funcion que maneja los mensajes por una tuya)

ahora si quieres hacer lo mismo pero a una ventana o control que NO este en tu proceso tienes primero que entrar en este proceso (por medio de una DLL)
y cuando esta DLL es cargada por el proceso que quieres... haces lo mismo que como si estuvieras en tu proceso.

por que se necesita una DLL en un proceso remoto ?
porque si tratas de hacer un subclassing a una ventana de otro proceso desde tu proceso le estaras pasando un puntero invalido ya que el puntero es valido solo en tu proceso mas no en el otro proceso.
fijate en la funcion API SetWindowLong y GWL_WNDPROC

algo mas rapido es cargar el programa con un debugger y poner breakpoint de tipo Log a las funciones como TranslateMessage y DispatchMessage.
apretas el boton en el programa y el breakpoint te avisara los valores.
un debugger como Olly Debugger.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:léxico informático

Publicado por Julie (12 intervenciones) el 02/03/2005 21:26:32
alucinante respuesta SADE!!, no lo digo por menospreciar a Benjo, también valoro mucho su ayuda, ya no hay gente en el mundo como él, ayyyy yo estaba enamorada de la API-Guide, ahora Benjo has roto mi corazón, ¿qué me recomiendas para trabajar con Apis?, ¿dónde se puede encontrar documentación tan hermoso y ejemplificada como la de allapi.net?
SADE, yo estoy en jardín de infantes y tu estas terminanado tu doctorado, tu respuesta sin duda es brillante, aunque no la comprenda percibo la excelencia, porque esta está más allá de la comprensión, es algo que se siente. Mi cerebro ha retado a mis ojos "ya no quiero que manden más inormación sin sentido!!!", (él no entiende), ¿qué remedio es el que me recetas? , "subclassing", puntero, breakpoint, DLL ( sé que es una librería que contiene intrucciones, las Apis viven en ese tipo de casas modernas), no entiendo estas cosas que me dices, ¿hay una forma más fácil de decirle a una niña de 5 años de dónde vienen los bebés? ¿puedes recomendarme algún material de la web para entender tu respuesta?
graciasss, saludos, "siempre vemos ese cuadro, pero ¿alguna vez lo hemos visto?"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:léxico informático

Publicado por SADE (322 intervenciones) el 03/03/2005 04:12:42
te recomiendo aprender a caminar antes de querer correr :)
pero si eres curiosa leete el tutorial #20 de esta pagina:
http://mipagina.cantv.net/numetorl869/tut_es.htm

el codigo de los tutoriales es Macro Ensamblador (MASM)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar