Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-07-2003
Pally Pally is offline
Miembro
 
Registrado: may 2003
Posts: 23
Poder: 0
Pally Va por buen camino
Lightbulb Problema la crear un nuevo Form

Hola a todos. Tengo una duda, cuando creo un nuevo form no me sale los objetos que contiene(un webbrowser). Solo me sale el form sin nada. Lo que quiero es crear el form con webbrowser y hacer que navege hacia una dirección. gracias a todos
Responder Con Cita
  #2  
Antiguo 23-07-2003
Bacterion Bacterion is offline
Miembro
 
Registrado: may 2003
Posts: 91
Poder: 21
Bacterion Va por buen camino
En principio suena a que no estás creando un form del tipo que toca... sino que creas un TForm sin más.
¿Por qué no pons un ejemplo de como lo haces?
Responder Con Cita
  #3  
Antiguo 23-07-2003
Pally Pally is offline
Miembro
 
Registrado: may 2003
Posts: 23
Poder: 0
Pally Va por buen camino
Lo hago así:

Pagina:= TPagina.Create(self);
Pagina.BorderStyle:= bsToolWinSize;
Pagina.show;

Ahora lo que quiero es cargar el WebBrowser que esta en el form pagina

hice esto, pero no funciona:

pagina.w.create(self);
pagina.w.show;
Responder Con Cita
  #4  
Antiguo 23-07-2003
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Incluye por ejemplo en el evento OnCreate de tu form, a donde tiene que ir:
Código:
webbrowser1.Navigate('http://www.yahoo.fr');

Un Saludo.
Responder Con Cita
  #5  
Antiguo 23-07-2003
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
si w es ya un WebBrowser, la llamada a w.create está de mas.

Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #6  
Antiguo 23-07-2003
Pally Pally is offline
Miembro
 
Registrado: may 2003
Posts: 23
Poder: 0
Pally Va por buen camino
¿Por que sobra w.create?. No lo entiendo. Mi problema es que el webbrowser no sale en form. No se por que?
Responder Con Cita
  #7  
Antiguo 23-07-2003
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
si has puesto un WebBrowser sobre tu form en tiempo de diseño, y le has llamado w, cuando creas una instancia de ese form se creará también w.

Por eso sobra la llamada a w.Create, y no solo sobra, sino convierte a tu aplicación en un Hoyo Negro de recursos.

Además, si lo creas por código y el WebBrowser deriva de TControl (cosa que no se), lo que te falta es asignarle el parent.

Digamos


Código:
  w := TWinControl.Create(Forma1);
  w.Parent := Forma1;
Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #8  
Antiguo 23-07-2003
Pally Pally is offline
Miembro
 
Registrado: may 2003
Posts: 23
Poder: 0
Pally Va por buen camino
Gracias por el codigo, pero no me lee el parametro "formal".Que significa?
Responder Con Cita
  #9  
Antiguo 23-07-2003
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
Es una suposición.

Veo que debieras utilizar pagina.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #10  
Antiguo 23-07-2003
Pally Pally is offline
Miembro
 
Registrado: may 2003
Posts: 23
Poder: 0
Pally Va por buen camino
sigue igual

Utilizo delphi 7.0, pero me dice con el parent el siguiente error en el editor de codigo: (Cannot assign to read-only propertory). Y con la otra linea salta un error de compilación el tipico: (No se puede compilar unit1....). Gracias por vuestro tiempo
Responder Con Cita
  #11  
Antiguo 23-07-2003
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
Cool

Te dije que nunca he trabajado con TWebBrowser?

Creo que debes buscar un poco en la ayuda también. Si te sirve, mirá si tiene un constructor Llamado CreateParented o alguna otra forma de asignar el parent.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #12  
Antiguo 23-07-2003
Avatar de __marcsc
__marcsc __marcsc is offline
Miembro
 
Registrado: may 2003
Ubicación: Girona
Posts: 577
Poder: 21
__marcsc Va por buen camino
Hola,

lo que te dice de que no puede asignar el parent es porqué el control TWebBrowser tiene una propiedad Parent que tiene un significado diferente.

Para poder asignar la propiedad Parent de toda la vida necesitas hacer un cast.

Código:
TWinControl(MiWebBrowser).Parent:= Objeto;
Esto debería funcionar.

Saludos.
Responder Con Cita
  #13  
Antiguo 24-07-2003
Pally Pally is offline
Miembro
 
Registrado: may 2003
Posts: 23
Poder: 0
Pally Va por buen camino
Lo que hago es lo siguiente:

procedure Tpagina.WNewWindow2(Sender: TObject; var ppDisp: IDispatch;
var Cancel: WordBool);
begin
If (publicidad = True) then
Cancel:= true;
Pb.EstPublicidad.Caption:= 'Publicidad desactivada, activela con el botón' ;
NuevaVentana:= True;

If (publicidad = false) then
Cancel:= false;
Pb.EstPublicidad.Caption:= 'Publicidad activada, desactivela con el botón';


end;

procedure Tpagina.WBeforeNavigate2(Sender: TObject; const pDisp: IDispatch;
var URL, Flags, TargetFrameName, PostData, Headers: OleVariant;
var Cancel: WordBool);
begin
PubDireccion:= URL;

If (NuevaVentana = True) Then
Begin
{Parametros Pagina Nueva}
Pagina:= TPagina.CreateNew(self);
Pagina.BorderStyle:= bsSizeToolWin;

Pagina.Show;
Pagina.W.Show;
{Hasta aqui funciona, Ahora con el webbrowser}
TWincontrol(w).Create(pagina);
TWinControl(w).Parent:= pagina;






end;
end;

procedure Tpagina.FormCreate(Sender: TObject);
begin
If (NuevaVentana = true) Then
W.Navigate(PubDireccion);
end;


Este el codigo que tengo escrito. pero me sigue igual he seguido vuestros consejos pero sigue igual.No se que puedo hacer

Gracias por vuestro y por ser tan pesado, es que estoy tan cerca

P.D:

Lo que quiero es que mi aplicación habra las ventanas de publicidad que abre en el internet explorer, que me las habra en la ventana de navegador que tengo en mi aplicación
Responder Con Cita
  #14  
Antiguo 26-07-2003
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
Veo que aún llamas a create?

Porque?
__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #15  
Antiguo 26-07-2003
Pally Pally is offline
Miembro
 
Registrado: may 2003
Posts: 23
Poder: 0
Pally Va por buen camino
entonces como creo el nuevo form?

si no es con el metodo create, con que lo puedo crear?

siento no contestarte antes pero estaba trabajando
Responder Con Cita
  #16  
Antiguo 28-07-2003
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
Me contestaste con otra pregunta. Creo que te hará bien profundizar un poco en la programación orientada a objetos y específicamente en el punto de vista de Object Pascal.

Create regularmente se llama directamente con la clase y se asigna a una variable o a un miembro de otra clase. Me parece que vos lo llamás directamente sobre un miembro que seguramente ya está creado. Es mi duda. Quien deberia saber que quiere hacer y cual es la idea sobre la que lo está haciendo sos vos.

Hasta luego,

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #17  
Antiguo 29-07-2003
German C. C. German C. C. is offline
Miembro
 
Registrado: jul 2003
Posts: 11
Poder: 0
German C. C. Va por buen camino
Lightbulb

Si el form lo tienes creado en tiempo de diseño, con el webbrowser incluido, y no es "Auto-Create" (es decir no esta incluido en los forms "Auto-Create" de Project/Options/Forms), y está incluido en el uses del form principal, puedes crearlo desde el form principal en tiempo de ejecución y pasar el control hacia él asi:
Código:
Application.CreateForm(tMiForm, MiForm);
MiForm.Show;
Por ultimo, puedes eliminárlo de memoria cuando lo cierres añadiendo al evento OnClose:
Código:
procedure tMiForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
De esa manera puedes abrirlo y cerrarlo las veces que haga falta, ocupando memoria solo en el momento que esté en pantalla.

Salu2.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 05:02:35.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi