Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Reto Delphi 2011 (https://www.clubdelphi.com/foros/showthread.php?t=72418)

Al González 26-02-2011 07:27:29

Señores: Confirmado, Román ha sido el primero en resolver el problema satisfactoriamente.

¡Enhorabuena! :)

Ñuño Martínez 28-02-2011 10:10:47

Cita:

Empezado por roman (Mensaje 392016)
Para mi que Ñuño y yo ya lo resolvimos, lero, lero. :)

Gracias por la alta estima en la que me tiene usted, pero me temo que ando más perdido que un pulpo en una discoteca setentera...

Cita:

Empezado por Al González (Mensaje 392064)
Señores: Confirmado, Román ha sido el primero en resolver el problema satisfactoriamente.

¡Enhorabuena! :)

Jo, pues a ver si me lo leo con más calma, porque con tanta respuesta negativa no me entero de . :confused: (no se molesten en explicármelo, que todavía no he leído los mensajes, que me he saltado un puñado)

Casimiro Noteví 28-02-2011 12:41:44

Yo también estoy liado porque con las pistas "enrevesadas" me han liado más :)

Al González 30-03-2011 05:40:41

Revivo este hilo, la respuesta está contenida en la propia ayuda de Delphi. :)

Ñuño Martínez 06-04-2011 11:15:14

Pues parece que la última pista no ha tenido mucho éxito... o ha tenido tanto que ha resuelto las dudas de todos, salvo a mi. ¿Será que no tengo ningún Delphi instalado ahora?

Perdido estóy, como hace semanas...

roman 06-04-2011 16:03:14

A ver. Yo lo que puedo decir, es que no es un problema que pueda resolverse simplemente sentándose a pensar. Hay que revisar las fuentes. ¿Dónde está definido GetMem?

// Saludos

Delphius 06-04-2011 16:22:16

Cita:

Empezado por roman (Mensaje 396025)
A ver. Yo lo que puedo decir, es que no es un problema que pueda resolverse simplemente sentándose a pensar. Hay que revisar las fuentes. ¿Dónde está definido GetMem?

// Saludos

Pues que yo sepa, está en la unidad System, y vinculado con el tema está un tipo especial TMemoryManager... y unas funciones de uso interno como Set y GetMemoryManager y otras más curiosas aún como SysGetMem y SysFreeMem... Ha y por cierto... está la muy escondida _GetMem y FreeMem

Pero de allí en más no me puse a curiosear más :p :D creo que podría servir de algo :rolleyes:

Saludos,

roman 06-04-2011 16:27:24

Caliente, caliente...

También puedes ver el mensaje donde adjunté la solución y atar cabos :D

Delphius 06-04-2011 16:37:36

Cita:

Empezado por roman (Mensaje 396029)
Caliente, caliente...

También puedes ver el mensaje donde adjunté la solución y atar cabos :D

No... si lo que quieres es que tenga que tomarme unas cuantas aspirinas. :D :p Que me conoces y no puedo resistirme...

Logré quitarme por un buen tiempo la manía pero con esto ya me "pica" la curiosidad.

A ver si por la tarde-noche le miro un rato, que primero está la dosis de aspirina para mi proyecto. :( :D

Saludos,

roman 06-04-2011 16:43:37

Juraría que te pasa lo mismo que me pasó a mi. Vi lo mismo que tu ves y no me percataba que ahí está la solución, hasta que el comentario de Al me abrió los ojos :)

// Saludos

Delphius 06-04-2011 17:02:05

Quizá debiera meterle manos ahorita... podría servirme para mi proyecto, porque lo mio toca de media nariz al tema de GetMem/FreeMem para trabajar con matrices.... probé un tiempo su uso, también con VirtualAlloc que es más directo, pero me terminó pareciendo demasiado y me quedé con SetLength() ya que lo veo más intuitivo y menos tedioso aunque no es definitivo, puedo cambiarlo. En DA lo discutí al tema.

Yo me quedé contento y a gusto con SetLength pero como que ahorita puedo llegar a mejores conclusiones. Si logro matar dos pájaros de un tiro... aunque me tenga que desvelar hago el cambiazo.

Saludos,

Al González 06-04-2011 18:48:32

Cita:

Empezado por Delphius (Mensaje 396039)
Yo me quedé contento y a gusto con SetLength pero como que ahorita puedo llegar a mejores conclusiones. Si logro matar dos pájaros de un tiro...

Sigue con del depurador lo que hace SetLength y ciertamente habrás matado esos dos pájaros, Marcelo. :)

Delphius 06-04-2011 19:16:56

Cita:

Empezado por Al González (Mensaje 396063)
Sigue con del depurador lo que hace SetLength y ciertamente habrás matado esos dos pájaros, Marcelo. :)

A no, a no... eso si que no. Habíamos quedado en que no nos meteríamos en esos berenjales :D :p ;)

Saludos,

Al González 06-04-2011 20:27:45

Cita:

Empezado por Delphius (Mensaje 396067)
A no, a no... eso si que no. Habíamos quedado en que no nos meteríamos en esos berenjales :D :p ;)

Sí, pero ya que también deseas comparar la eficiencia de SetLength contra asignación directa de memoria, seguir mi consejo no estaría mal.

Ahora, si sólo deseas resolver este reto, podrías comenzar por consultar en la ayuda algo del 2F. Por cierto, expandiste la pista esmeralda. ;)

ADVERTENCIA: El párrafo anterior, tanto puede orientar como confundir más. :D

Ñuño Martínez 08-04-2011 09:45:12

Cita:

Empezado por roman (Mensaje 396025)
A ver. Yo lo que puedo decir, es que no es un problema que pueda resolverse simplemente sentándose a pensar. Hay que revisar las fuentes. ¿Dónde está definido GetMem?

// Saludos

No sé, no sé. Yo no tengo Delphi ahora mismo. Y teniendo en cuenta que FreePascal es diferente, no sé yo si serviría la misma solución... Tendré que mirarlo, a ver.


La franja horaria es GMT +2. Ahora son las 01:46:40.

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