Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-12-2008
Avatar de nuk3zito
nuk3zito nuk3zito is offline
Miembro
 
Registrado: ago 2003
Ubicación: "Z" Land
Posts: 244
Poder: 23
nuk3zito Va por buen camino
Hono a quien honor merece

Egostar, ese artículo de codegear me sirve bastante, me dio algunas ideas.

Gracias.

Cita:
Empezado por egostar Ver Mensaje
P.D. Esos son los aportes que se buscan... aunque admítanlo... disfrutan usar el sarcasmo para aportarlos, jijiji
__________________
Tiempo y ocasión acontecen a todos!
Responder Con Cita
  #2  
Antiguo 05-12-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 27
Delphius Va camino a la fama
Hola nuk3zito,
Antes que nada espero que no te molestes demasiado por mis palabras.

La verdad es que tener tanta cantidad de objetos no es muy común (sobre todo si se tiene en cuenta que al parecer sólo estamos hablando de un módulo) y creo que por más que unos 1300 objetos no ocupen demasiada memoria (en promedio 4 bytes [lo que "ocupa un objeto"] por 1300, no es taaanto), me parece que en forma general, sin conocer con mayor profundidad como estás llevando a cabo todo el proceso y el código, que es un mal diseño.

No es por criticarte, pero es que a mi esa cifra me indica que hay un mal análisis y diseño. Creo que deberías replantear la posibilidad de que se analice el tema nuevamente.

Dices que obedeces ordenes, pero ¿no existe la posibilidad de que propongas una revisión?
Si hay problemas con la recolección de basura, es porque algo mal tienes. En algún punto de todo el código que tienes hay una falla; no es por desacreditarte... somos humanos. Nos podemos equivocar.

Quizá es un error tonto y se te pasó. Suele pasar, a mi pasa. Puede pasarte a ti, en vez de apresurarte a dictaminar que es un bug ¿porqué no revisas el código y le haces una traza?

Trantandose de algo que posiblemente sea algo grande. Lo mejor es llevar un buen proceso de control, un plan de pruebas.

Sólo me voy a tomar la libertad de hacer una simple pregunta ¿Es muy estrictamente necesario tener 1300 objetos?

Tal vez me digas: no hay tiempo, se necesita para ahora, que no se vale retocar todo. Lamentablemente esta es una situación en la que muy posiblemente debas retocar muchas cosas. Un Out of memory no sale por arte de magia y en verdad para que salga algo mal hay que hacer.


No te digo que tu hayas mal programado. No te culpo a ti, sino que te hago saber que ante situaciones como éstas es mejor ser más precavido, más abierto, analizar más y recién codificar. Tal vez se pierda más tiempo pero esto a la larga puede hacerte ganar tiempo.

No más esa es mi opinión, y como cualquier otra, está sujeta a la voluntad de cada quien en ignorarla, aceptarla, escucharla, compartirla y/o rechazarla.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #3  
Antiguo 05-12-2008
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 22
cHackAll Va por buen camino
Cita:
Empezado por Delphius Ver Mensaje
...y creo que por más que unos 1300 objetos no ocupen demasiada memoria (en promedio 4 bytes [lo que "ocupa un objeto"] por 1300, no es taaanto)...
explicate!
__________________
RTFM > STFW > Foro > Truco > Post > cHackAll > KeBugCheckEx
Responder Con Cita
  #4  
Antiguo 05-12-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 27
Delphius Va camino a la fama
Cita:
Empezado por cHackAll Ver Mensaje
explicate!
Hola Javier,
¿Que no es que es eso lo que ocupa la variable que apunta al objeto?

Se que no es una medida tan fiable y exacta de lo que ocupa realmente un objeto, pero al menos 4 bytes por los 1300 nos da 5200 bytes. Y bueno... de allí ya podemos empezar a hacer algunas cuentas de lo que se está "consumiendo".

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #5  
Antiguo 05-12-2008
Avatar de nuk3zito
nuk3zito nuk3zito is offline
Miembro
 
Registrado: ago 2003
Ubicación: "Z" Land
Posts: 244
Poder: 23
nuk3zito Va por buen camino
Saludos Delphius,
He visto puros famosos por aquí, me da gusto.

Cita:
Empezado por Delphius Ver Mensaje
Sólo me voy a tomar la libertad de hacer una simple pregunta ¿Es muy estrictamente necesario tener 1300 objetos?
La cantidad de objetos la dicta la cantidad de registros que tiene una tabla. Un objeto por cada elemento de reporte. Cada elemento es la suma de cuentas o una fórmula interna que se tiene para calcular un valor.

Mira, te cuento la idea principal. El reporteador usa Excel como complemento, y lo que pasa es que se requiere proteger en gran medida los datos y la manera en que estos se calculan y a excel solo se le deja la tarea de recibir nuestros valores. Lo que se nos ocurrió en su momento es solo enviar los valores a nuestra hoja de excel y listo... que él se encargue del otro asunto.
Ahora bien, siendo Delphi un lenguaje orientado a objetos, la idea aquí es que cada elemento se manejara por si solo (quize probar ese poder), que cada elemento tuviera sus propios métodos y propiedades.
Como tu bien dices, nadie está excento de errores y creo que el mío puede estar al momento de liberar la memoria con el "free" (mi no basta experiencia con esto me hace dudar que el free libere de manera correcta el objeto)

Cita:
Empezado por Delphius Ver Mensaje
en promedio 4 bytes [lo que "ocupa un objeto"]
Con esto supongo que te refieres a la referencia a un objeto, pero una instancia de un objeto ocupará tantos bytes compongan sus miembros. De todos modos dejemos esto a un lado, lo que realmente importa es que aunque cada instancia pesara 1Kb esto multiplicado por 1300 (que es el numero de elementos de mi reporte) se me sigue haciendo poco, así que en este grado solo estoy buscando cual fue mi error, en cual línea de código está.

Cita:
Empezado por Delphius Ver Mensaje
Hola nuk3zito,
Tal vez me digas: no hay tiempo, se necesita para ahora, que no se vale retocar todo. Lamentablemente esta es una situación en la que muy posiblemente debas retocar muchas cosas. Un Out of memory no sale por arte de magia y en verdad para que salga algo mal hay que hacer.
Se que esos errores no se dan solos y no salen por arte de magia, creeme... esto ya es más un reto personal, puesto que la solución al problema la tengo en rediseño (no usar objetos?) pero ya es más necesidad personal descubrir el motivo de este error lejos de rediseñar todo. No se si me explico.

Agradezco como no tienes idea cualquier aporte de los foristas.
__________________
Tiempo y ocasión acontecen a todos!

Última edición por nuk3zito fecha: 05-12-2008 a las 20:42:29. Razón: Quité la "s" que confunde :p
Responder Con Cita
  #6  
Antiguo 05-12-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 27
Delphius Va camino a la fama
Cita:
Empezado por nuk3zito Ver Mensaje
He visto puros famosos por aquí, me da gusto.
¿Famoso? ¿Donde?
El día que yo sea famoso va a estallar el mundo debido que mi ego va a ocupar todo el planeta.
No más es que me tomo el tiempo aquí. De famoso no tengo nada, excepto el ser un loco trastornado.


Cita:
Empezado por nuk3zito Ver Mensaje
Agradezco como no tienes ideas cualquier aporte de los foristas.
Antes de ponerme los guantes, debido a una mala interpretación de tus palabras, quiero preguntarte ¿bajo que contexto debo entender cuando me dices "que no tengo ideas"?

No puedo distinguir si me estás insultando educadamente y me tome el raje, diciendome algo como "Si no tienes p.. idea vete a otro lado"; o por el contrario me lo dices debido a que no te he ofrecido alguna alternativa a tu diseño.

Por la forma en como está redactado tu mensaje, puede interpretarse de muchas maneras. De igual modo yo no fui lo suficientemente claro al explicar la cuestión de los 4 bytes.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #7  
Antiguo 05-12-2008
Avatar de nuk3zito
nuk3zito nuk3zito is offline
Miembro
 
Registrado: ago 2003
Ubicación: "Z" Land
Posts: 244
Poder: 23
nuk3zito Va por buen camino
DISCULPAME!!!

Realmente se me fue una "s" de más...

Entiendo tu reacción tal como se ha desencadenado el hilo. Sorry en verdad.

Una letrita puede cambiar todo el sentido de una frase.

Cita:
Empezado por Delphius Ver Mensaje
Antes de ponerme los guantes, debido a una mala interpretación de tus palabras, quiero preguntarte ¿bajo que contexto debo entender cuando me dices "que no tengo ideas"?

No puedo distinguir si me estás insultando educadamente y me tome el raje, diciendome algo como "Si no tienes p.. idea vete a otro lado"; o por el contrario me lo dices debido a que no te he ofrecido alguna alternativa a tu diseño.

Por la forma en como está redactado tu mensaje, puede interpretarse de muchas maneras. De igual modo yo no fui lo suficientemente claro al explicar la cuestión de los 4 bytes.

Saludos,
__________________
Tiempo y ocasión acontecen a todos!
Responder Con Cita
  #8  
Antiguo 05-12-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 27
Delphius Va camino a la fama
Bueno, ideas... ummm puedo maquinar algunas cuantas en cuestión de algunas horas.

Se que te puede sonar muy parecida mi idea, pero.... ¿Porqué no un TStringGrid?

La cuestión es que prefiero tirarte una serie de interrogantes para que tu mismo juzgues tu diseño y puedas encontrar ya sea una nueva alternativa o en su defecto, los puntos débiles del diseño.

1. ¿Que tan particular es un panel respecto a otro? ¿Son muy particulares? No comparten algo en común, fuera de una cuestión de que responde a una misma clase, y por tanto tienen las mismas características. A lo que voy es es a esta pregunta fundamental: ¿Que hace único a un panel, botón, o sea el control que sea?

2. Relacionado con el anterior, como corolario, ¿Existe algún tratamiento común a todos?

3. ¿Quien crea a quién? ¿Quien borra a quién? ¿Quién es dueño de quién? En fin cualquier pregunta que te permita establecer el grado de pertenencia y relación entre los objetos. En pocas delimitar claramente el alcance de cada clase y el ciclo de vida que le corresponde.

4. ¿Hasta que punto se hace empleo de métodos genéricos? ¿Son muy particulares? ¿Son virtuales? ¿Que tan amplia es la jerarquía de clases? ¿Es congruente la representación "física" del reporte con el tamaño del diseño de las clases?

Por ahora se me ocurren estas preguntas, puede que más adelante surjan otras.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Problema con RaveReports (multiples instancias) az_jazo Varios 2 24-05-2006 17:55:03
Compartir "objetos" entre varias instancias mafebresv Varios 4 16-01-2006 23:38:23
Problema al momento de crear objetos DANY OOP 5 28-11-2005 10:28:05
Problema con TBitBtn lroblesco Varios 1 17-02-2005 08:41:07


La franja horaria es GMT +2. Ahora son las 03:41:15.


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