Cita:
Empezado por mrnovice
al crear un nuevo componente, me obliga a usar un componente padre que lo encuentro lógico, pero es posible separarlo?
|
La verdad, no entiendo esta pregunta. Para
ser un componente, tu clase debe derivar de TComponent. En otras palabras, en algún punto de la herencia de tu clase, estará TComponent, si no, no
es un componente (básico de teoría de objetos).
Cita:
Empezado por mrnovice
Segundo. No se si me pudieran informar donde me pueden dar ejemplos de cómo poder usar el create constructor desde un componente algo así
|
En Delphi, los componentes creados pueden ser "propiedad" de otro componente. De esta manera se cuenta con un mecanismo estándar de notificación entre los componentes (propietario/propiedad de). Gracias a esto, la vcl implementa la liberación automática de memoria de componentes que son propiedad de otros componentes.
He soltado todo ese rollo, para explicar por que el constructor pide un owner.
Para crear una instancia del componente, invocás su constructor, pasándole la referencia a otro componente que será su propietario. Si el componente no tiene un propietario, podes pasarle una referencia vacía (nil), asumiendo vos la responsabilidad de liberarlo cuando sea oportuno.
Por ejemplo:
Código Delphi
[-]
var
q: TQuery; begin
q := TQuery.Create(nil); try
finally
q.Free; end;
end;
¿Es esto lo que buscabas?
Un saludo.