Ver Mensaje Individual
  #1  
Antiguo 13-05-2011
J.Slann J.Slann is offline
Miembro
NULL
 
Registrado: mar 2011
Posts: 18
Reputación: 0
J.Slann Va por buen camino
Problema creando instancias

Buenas voy a intentar explicar mi problema a ver si se me entiende.

Digamos que creo varias instancias de una clase propia de la siguiente manera:

Código:
instancia1:= TMiclase.Create;
instancia2:= TMiclase.Create;
instancia3:= TMiclase.Create;
TMiclase tiene un procedimiento llamado TMiclase.procedure pero ese procedimiento lo ejecuto a través de (librerias pascal script)

Código:
Sender.AddMethod(Self,@TMiclase.procedure.add,'function add(a,b:integer):integer;');
El código de TMiclase.procedure sería algo así:

Código:
procedure TMiclase.procedure
begin
   variable.otro_procedimiento; // Esto ejecuta otro procedure
end;
El problema es que así no me funciona porque no tiene datos en variable (antes de llamar a este procedimiento he hecho un variable:=loquesea).

Lo que creo que me pasa es que debido al usar
Código:
Sender.AddMethod(Self,@TMiclase.procedure.add,'function add(a,b:integer):integer;');
creo que el programa ejecuta el codigo de la clase, cuando lo que quiero es que lo ejecute la instancia que le toque.
Intento explicarme mejor. Al usar eso se ejecutan las lineas de codigo de TMiClase, yo quiero que lo ejecute cada instancia porque cambiará según la variable de cada instancia, pero usando lo de arriba las variables estan en nil.

Resumiendo lo que me gustaria conseguir es esto
Código:
Sender.AddMethod(Self,Direccion instancia1.procedure.add,'function add(a,b:integer):integer;');
¿Como consigo la direccion de la instancia? Debo meter la direccion ahí pero no se como conseguirla (puntero).

Saludos y gracias
Responder Con Cita