Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-10-2012
lunicirus lunicirus is offline
Miembro
NULL
 
Registrado: sep 2012
Posts: 20
Poder: 0
lunicirus Va por buen camino
Quien llama ese Metodo?

Hola
Quisiera saber si hay alguna forma de saber que metodos llaman a un metodo en especifico, en eclipse cuando yo trabajaba con java se llamaba como Call Hierarchy, en delphi hay algo parecido?
Muchas gracias
Responder Con Cita
  #2  
Antiguo 13-10-2012
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
En Delphi no existe esa característica, al menos no en los ejecutables para Windows. Considera que éste es un lenguaje compilado a código máquina, a diferencia de Java que es como los antiguos lenguajes interpretados (claro, bajo las nuevas tendencias de "código manejado").

No obstante, existen situaciones específicas de programación donde a falta de esa característica puede conseguirse el objetivo. ¿Cuál es tu caso concreto?

Agrego: Sin embargo, el estupendo depurador integrado sí que te permite ver el camino que siguió el programa hasta un punto específico del código, es decir la pila de llamadas (call stack), ventana que aparece con la combinación de teclas Ctrl+Alt+S y útil cuando el programa está detenido en un punto de ruptura / interrupción (break point). Es decir, si tu necesidad es de depuración, la tarea está resuelta.

Saludos.

Última edición por Al González fecha: 13-10-2012 a las 00:26:13.
Responder Con Cita
  #3  
Antiguo 13-10-2012
lunicirus lunicirus is offline
Miembro
NULL
 
Registrado: sep 2012
Posts: 20
Poder: 0
lunicirus Va por buen camino
Hola,
No lo que pasa es que tengo que modificar un programa que ya esta hecho, y quiero borrar y modificar algunos metodos, pero como no se quien los utiliza no se donde mas modificar, me hago entender?
Saludos
Responder Con Cita
  #4  
Antiguo 13-10-2012
novato_erick novato_erick is offline
Miembro
 
Registrado: ago 2010
Ubicación: Panamá
Posts: 396
Poder: 14
novato_erick Va por buen camino
Cita:
Empezando por:

lunicirus:

Hola
Quisiera saber si hay alguna forma de saber que metodos llaman a un metodo en especifico, en eclipse cuando yo trabajaba con java se llamaba como Call Hierarchy, en delphi hay algo parecido?
De lo que me acuerdo en la Universidad utilizando Eclipse el Call Hierarchy es solamente una Herramienta que te muestra los métodos que son llamados.. y los métodos son:
1. Un bloque de código que tiene un nombre,
2. Recibe unos parámetros o argumentos (opcionalmente),
3. Contiene sentencias o instrucciones para realizar algo (opcionalmente) y devuelve un valor de algún Tipo conocido (opcionalmente).

En delphi y perdónenme mis compañeros del ClubDelphi si me equivoco y corrijan. son llamados Funciones y no es más que un bloque de código que puede utilizarse en repetidas ocasiones sin que haya necesidad de duplicarlo es por eso que usamos la función.

En Delphi tenemos procedimientos y funciones y estas últimas se distinguen de aquellos en que las funciones devuelven un resultado.

Para En realidad no he visto una herramienta especifica que realice eso: pero como dice:
Cita:
Al González: En Delphi no existe esa característica, al menos no en los ejecutables para Windows.
Lo que te puedo sugerir es utilizar el Depurador de Delphi y poner un punto de Interrupción (Break Point) como lo menciono nuestro amigo Al González. Aprovecho y Saludos...

Espero que te haya evacuado duda...


Saludos


novato_erick
Responder Con Cita
  #5  
Antiguo 13-10-2012
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Cita:
Empezado por lunicirus Ver Mensaje
[...] quiero borrar y modificar algunos metodos, pero como no se quien los utiliza no se donde mas modificar, me hago entender?
Esta vez sí.

En ese caso lo más recomendable es hacer una búsqueda sobre múltiples archivos, usando la opción Find in Files del propio entorno de Delphi (menú Search o si prefieres Ctrl+F seguido de Ctrl+Tab).

Por otro lado, si apenas comienzas con Delphi, quizá valga la pena no borrar nada del código que hizo el programador anterior hasta que lo hayas dominado un poco.

Respecto a los métodos, Erick, lo son tanto en Delphi como en Java, sólo que en Delphi además hay rutinas (procedimientos y funciones) que no pertenecen a ninguna clase —a mí me gusta pensar que son métodos de una clase implícita aplicación—*.

Saludos.

Al González.

* Y ojalá algún día nos permitan hacerlos virtuales.
Responder Con Cita
  #6  
Antiguo 13-10-2012
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Cita:
Empezado por Al González Ver Mensaje
sólo que en Delphi además hay rutinas (procedimientos y funciones) que no pertenecen a ninguna clase —a mí me gusta pensar que son métodos de una clase implícita aplicación—*.

Saludos.

Al González.

* Y ojalá algún día nos permitan hacerlos virtuales.
Bueno, no es que pertenezcan a una clase implícita... sino que es algo que ha heredado y mantiene compatibilidad con Pascal (que no Object Pascal).

No creo que se le permita hacerlos virtual... ¡es que no tiene sentido en el paradigma estructurado un procedimiento o función virtual! El concepto de "virtual" se da en paradigma OO.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #7  
Antiguo 13-10-2012
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
¡Ouch! Creo que me faltó poner más caritas.
Responder Con Cita
  #8  
Antiguo 13-10-2012
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Cita:
Empezado por Al González Ver Mensaje
¡Ouch! Creo que me faltó poner más caritas.
No te preocupes, yo también he pensado sobre esa duda... y durante un tiempo en vez de considerar a Delphi un LOO lo llamaba híbrido justamente por la posibilidad de seguir el pensamiento estructurado.

Pero ahora tengo que confesar que anoche me surgió la duda de si ya desde Pascal existía la sobrecarga. Me falla la memoria al intentar recordar si alguna vez en cátedra de Lenguajes la habré puesto en práctica.

Como bien sabemos, quizá no podemos hacer un procedimiento o función virtual, pero si sobrecargarlo.

Si la cláusula overload apareció recién con Object Pascal entonces, es que se extendió el concepto estructurado.

Saludos,
PD: Por cierto Al, esta tarde me pongo a ver bien lo que te comenté sobre el TObjectList. Espero poder llegar a buen puerto. Te pasaré las novedades. Si sabes algo más que podría servirme de ayuda te agradecería el dato.
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #9  
Antiguo 13-10-2012
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
Yo utilizo una característica de D2007 que si bien es para otra cosa, igual me sirve. Utilizo el rafactoring de la siguiente manera, ubico alguna referencia al método o variable que quiero, selecciono "refactor" y después la opción de renombrar (aunque no lo vaya a hacer realmente) le indico que me muestre previamente los cambios y acepto. En la lista de refactoraje aparecen todos los lugares en donde se hace referencia al método o variable, con dos click me lleva al código. Unicamente no confirmo los cambios y listo.

Otra forma es con la opción Grep Searck de CnPack que hace lo mismo y es bastante potente.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #10  
Antiguo 13-10-2012
lunicirus lunicirus is offline
Miembro
NULL
 
Registrado: sep 2012
Posts: 20
Poder: 0
lunicirus Va por buen camino
Cita:
Empezado por AzidRain Ver Mensaje
Yo utilizo una característica de D2007 que si bien es para otra cosa, igual me sirve. Utilizo el rafactoring de la siguiente manera, ubico alguna referencia al método o variable que quiero, selecciono "refactor" y después la opción de renombrar (aunque no lo vaya a hacer realmente) le indico que me muestre previamente los cambios y acepto. En la lista de refactoraje aparecen todos los lugares en donde se hace referencia al método o variable, con dos click me lleva al código. Unicamente no confirmo los cambios y listo.

Otra forma es con la opción Grep Searck de CnPack que hace lo mismo y es bastante potente.
Gracias! esto me puede ser muy util.
Responder Con Cita
  #11  
Antiguo 14-10-2012
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
A mí se me ocurre una forma más "natural" de hacer una búsqueda (además de estar disponible en todas las versiones de Delphi), que es como sugiere A.G. en este otro hilo: http://www.clubdelphi.com/foros/show...001#post447001

Yo agregaría que conviene tener marcada la opción Find text at cursor en las opciones del editor (Editor Options / Properties) de la configuración de Delphi.

Un abrazo recursivo.

Última edición por Al González fecha: 15-10-2012 a las 00:02:47.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Encontrar objeto por su nombre, encontrar metodo, ejecutar metodo coso Trucos 7 02-09-2011 00:23:13
Saber quien llama una dll capo979 Varios 2 26-07-2010 09:31:55
¿por que se llama DELPHI? aeff Debates 1 18-05-2007 20:52:43
Como se llama? jam888 Varios 9 16-03-2005 22:30:24
¿Quién llama a la puerta? santana Humor 2 17-07-2004 04:55:43


La franja horaria es GMT +2. Ahora son las 17:38:15.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi