Ver Mensaje Individual
  #16  
Antiguo 06-03-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por jars Ver Mensaje
Y como le indico que es el del primer tab.
Refresco un poco lo que hago.
En un formulario tengo una componente del tipo TPageControl en la que voy a tener varias sesiones de chat, una en cada Tab.
Cuando creo una nueva TTabSheet en esta creo un TFrame, al que en el momento de la creacion le seteo el sessionid.
Mi problema es que no encuentro la forma de acceceder a las variables y componentes del frame desde desde otro Tab.
Hola.

A ver si ahora entendí...

Tenes un PageControl, en cada TabSheet un Frame y dentro de cada uno de ellos un RichEdit (JvRichEdit) y tal vez otros componentes.
Si es así y le diste nombres a cada uno de los JvRichEdit (por ejemplo mHistory+ChatSession), un modo de acceder podría ser:
Código Delphi [-]
procedure TForm1.CambiarTextoRE(const aName, aText: string);
var
  S : TTabSheet;
  F : TFrame;
  i,j,k : Integer;
begin
  for i := 0 to PageControl1.ControlCount-1 do
  begin
    S := PageControl1.Controls[i] as TTabSheet;
    for j:= 0 to S.ControlCount - 1 do
    begin
      F := S.Controls[j] as TFrameChat;
      for k:= 0 to F.ControlCount -1 do
        if F.Controls[k].Name = aName then
          (F.Controls[k] as TRichEdit).Lines.Add(aText); // (no uso TjvRichEdit)
    end;
  end;
end;

Llamada de ejemplo:
Código Delphi [-]
  CambiarTextoRE('mHistory13587', 'Nueva linea de texto');

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita