Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Obtener nombre de la instancia (https://www.clubdelphi.com/foros/showthread.php?t=81340)

Jere_84 05-11-2012 23:40:12

Obtener nombre de la instancia
 
Hola gente, estoy instan ciando una misma ventana, digamos una clase, con diferentes nombre. Ahora desde dentro de esta ventana necesito obtener por código el nombre de la instancia o algo que la identifique siempre de la misma manera. Pero no encuentro dicha propiedad o método. Alguien lo conoce o a intentado algo similar?

Saludos.

nlsgarcia 06-11-2012 03:13:53

Jere_84,

Revisa este código:
Código Delphi [-]
procedure TForm1.Button2Click(Sender: TObject);
begin
   // Identifica la ventana por el Handle.
   ShowMessage(IntToStr(Self.Handle));
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
   // Identifica la ventana por el Nombre.
   ShowMessage(Self.Name);
end;
Espero sea útil :)

Nelson.

Jere_84 06-11-2012 13:14:28

Hola Nelson!. Muchas gracias por el aporte!!, pero necesito algo que diferencie a cada una de las instancias y que sea igual en cada creación de las mismas. El handle nunca es el mismo en las pruebas que hice, y el Self.Name retorna el nombre de las clase pero no de la instancia. Como puedo obtener el nombre de la instancia?

Lepe 06-11-2012 13:23:40

y ¿por qué no usas Self?

Self es un puntero a memoria donde está instanciada. De hecho todos las variables de tipo TObject son punteros a memoria (y dado que todo hereda de TObject, todos son punteros excepto records, integer y demás tipos de datos simples), así que ya tienes lo que necesitas.


Y si lo que quieres es guardar esas instancias que estás creando en memoria, nada mejor que un TObjectList (de la unidad Contnrs).


Saludos.

Jere_84 06-11-2012 13:30:15

Es que quiero guardar en el registro los nombre de las instancias porq cada una va a tener diferentes configuraciones. El Self siempre es lo mismo, devuelve la clase de la que heredan las instancias, pero no la instancia en si. Bueno gracias igual, pero creo que debe haber alguna propiedad para obtener lo que estoy buscando... :rolleyes:

nlsgarcia 06-11-2012 19:30:37

Jere_84,

Cita:

Empezado por Jere_84 (Mensaje 448732)
Es que quiero guardar en el registro los nombre de las instancias porq cada una va a tener diferentes configuraciones

Revisa estos links:
Cita:

Get an instance of a persistent object, given the identifier in string
http://stackoverflow.com/questions/1...fier-in-string

Asociando Objetos a los Elementos de una Lista
http://delphiallimite.blogspot.com/2...ist-y-iii.html

¿Hay una manera de crear una instancia de una clase por su nombre en delphi?
http://es.softuses.com/95755
Espero sea útil :)

Nelson.

Jere_84 06-11-2012 20:14:12

Gracias Nelson!, voy a leer los links.

Saludos.


La franja horaria es GMT +2. Ahora son las 05:59:49.

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