Ver Mensaje Individual
  #7  
Antiguo 13-10-2005
OscarG OscarG is offline
Miembro
 
Registrado: sep 2005
Posts: 35
Reputación: 0
OscarG Va por buen camino
Bueno, es algo complejo. Estoy haciendo una especie de motor q controle el comportamiento de cualquier juego q realice.
Entonces se supone q lee de un fichero xml y va cargando los distintos objetos necesarios (botones, animaciones, cajas de texto,...), ninguno de estos objetos son los q utiliza delphi como componentes ya q utilizo las DelphiX como librería grafica y no es muy compatible, aunq si posible...

Bueno, entonces mi intención es llegar a controlar cada objeto através de interfaces, de tal forma q a la hora de tratarlos, no se sepa conq objeto se está tratando, sólo le dice cosas a los objetos, como q se ha producido un evento o ha recibido una orden, etc. (ellos ya sabrán lo q hacer)
Por ahora la primera parte de interfaces q tenía pensado me ha ido bien, pero mis siguientes intentos han fracasado.
En este caso, estoy ya casi convencido de q usar interfaces para el sonido no es conveniente ya q sería un objeto sonido para todos los objetos, por ejemplo si tengo un botón, en el caso de tener sonido, entonces, lo q he hecho es mandar un puntero del objeto sonido a el objeto botón y luego mediante el puntero puedo acceder al objeto sonido y poder cargar una canción, pararla, etc.

El problema creo q ha sido q al descubrir la utilidad de las interfaces me he emocionado, y lo he querido meter hasta en la sopa, pero claro, lo único q he recibido son bofetadas, una tras otra, y al final he visto lo equivocado q estaba o eso creo.

Aún asi, no las entiendo del todo, reconozco q son muy útiles, por lo menos para lo q quiero, vienen de perlas, pero sin olvidar q la herencia y otras cosas también tienen su peso y q no tengo q confundirme entre lo q quiero hacer y el método a utilizar.

Pos eso, sólo una pregunta, se puede mandar una interfaz como parámetro o eso viola alguna de las reglas de las interfaces?
Quiero decir, q si quiero pasar una interfaz a un objeto para q la controle, se podría hacer?. En el ejemplo q he mostrado, es un objeto q pertenece a otro objeto el q quiero q maneje la interfaz. Osea q hago un procedimiento q pasa como parámetro la interfaz. ¿Es una burrada?

Código Delphi [-]
  procedure setSonido(val: ITratarMusica)
  begin
     musica:= val; //donde musica es de tipo ITratarMusica
  end;

Hay alguna forma de hacerlo?

pos eso, muchas gracias por la ayuda
Responder Con Cita