Ver Mensaje Individual
  #16  
Antiguo 19-11-2008
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por Caro Ver Mensaje
Roman has probado sobre esta parte:
Ya probé y, en efecto, falla, je, je, pero todavía no sé bien porqué. Ayer cuando hice la prueba me limité a poner:

Código Delphi [-]
constructor TFrame2.create(AOWner:TComponent);
begin
 inherited;
end;



con lo cual no fallaba. Es al poner el método limpiar que falla. Haciendo una traza de SetParent (cuando se pone Parent := Self):

Código Delphi [-]
  if Parent <> nil then UpdateActionLists(opRemove);

  if (Parent = nil) and HandleAllocated then
    DestroyHandle;

  inherited;
  if Parent <> nil then UpdateActionLists(opInsert);

veo que si no se usa limpiar, el condicional de enmedio no se ejecuta, mientras que al usar limpiar, en algún momento se fuerza a crear el Handle del marco lo que obliga la llamada al DestroyHandle. Pero hasta ahí he llegado, todavía no sé en qué parte exactamente afecta.

// Saludos
Responder Con Cita