![]() |
Como pasar un Listview?
Buenas, acabo de llegar al mundo del delphi, hasta ahora he estado programando en VB. Mi pregunta es:
he hecho un procedimiento que tiene que actuar sobre un listview cualquiera, pero no sé como definir el procedimiento para que, se le pueda pasar este listview "como parametro". Supongo que será por referencia, pero no sé como. Gracias. |
Se pasa "por valor", ya que en delphi todos los objetos son en realidad punteros a dicho objeto. Siempre podrás modificar las propiedades y métodos del ListView dentro de tu procedimiento.
quizás necesites añadir el uses "ComCtrls" Saludos |
Gracias
Gracias, esto que me has dicho funciona.
Otra pregunta es, si yo quiero tener este mismo procedimiento en una unit distinta como lo hago? gracias otra vez |
Hola,
Pues nada. Sitúas el procedimiento en la unidad que te sea menester y, donde vayas a usarlo, es decir, en la unidad desde la que vayas a usarlo, te aseguras de incluir la unidad que contiene el procedimiento. Básicamente sería algo así:
Ahí tenemos a la unidad "UProcedimientos" que declara e implementa el procedimiento de ejemplo que propuso Lepe. Puedes, por lo tanto, utilizar la unidad "UProcedimientos" allí donde te sea menester, es decir, en cualquier otra unidad, incluyendo "UProcedimientos" en su claúsula "interfaz" o "implementation". |
gracias
gracias por vuestra ayuda
|
Cita:
Saludos Yusnerqui |
no, no, que no. Que no e a. (nada, que me apetecía un trabalenguas :D)
Al menos a mí me enseñaron que pasar por referencia implica el "var" delante del parámetro, y podemos modificar el valor de la variable "dato". En el caso de objetos, digamos que "no es común" modificar el valor de la variable, es como si quisiéramos hacer esto: Aquí si es necesario pasar el ListView por referencia, ya que estamos modificando el valor que contiene la variable dato... aunque eso si... a saber qué hay en la dirección 300 de nuestra RAM, casi seguro que no está el ListView :D Al pasar un objeto por valor, realmente estamos queriendo decir que su dirección de RAM no la podemos cambiar. Pero podemos modificar todas sus propiedades y eventos, ya que estos, no se encuentran en la propia variable "dato" sino en el espacio que ocupa el objeto. Ufff, no sé si he tenido una violación de acceso a memoria con tanto objeto en mente :D :D Saludos |
Pues yo mantengo mi postura, y de paso, rectifico lo que dije:D
Además quien a visto que una nana sepa programar.... y mucho menos en delphi. Para asegurarme de que tienes razón hice la siguiente prueba:
Bueno esto demuestra la teoría de Lepe, por tanto acabo de perder el juicio:D Saludos Yusnerqui |
| La franja horaria es GMT +2. Ahora son las 23:59:32. |
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