Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-04-2007
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 18
anubis Va por buen camino
lanzar otra ventana...

Buenas de nuevo, yo sigo con mis preguntas de novato

Tengo dos.
la primera, si hago proyecto y desde ahi se lanza un form que es el primero de la lista, pero a la vez que este es lanzado se lance otro automaticamente, eso como lo puedo implementar en una unit sin tener que tener un evento, es decir, una procedure o function, no se pueden insertar lineas de codigo a parte de los procedure que se ejecuten siempre al abrir esa unidad sin que sean eventos?, o simplemente para hacer calculos al entrar en esa unit.
Resumiento, la tipica ventana que se abre depues de qu esale la ventana principal del tipo acerca de...

Y la segunda, si tengo una unit creada de otro programa, como puedo hacer que el nuevo proyecto la recoja, porque ya estaba creado el form anteriormente.

gracias
Responder Con Cita
  #2  
Antiguo 07-04-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Lo normal es una pregunta por hilo, porque después aparecen comentarios y comentarios de los comentarios y se forma un lío padre. La próxima vez sigue las normas del foro ¿oki?

- Lo primero, busca por Splash Screen se ha hablado mucho en el foro.

- Lo segundo, copia los archivos .dfm y .pas a tu carpeta del proyecto y después usa agregar archivo al proyecto, busca el .pas y listo. También podrías agregarlos desde su ubicación original, pero si en el otro proyecto modificas el form por algo, ese cambio también se refleja en el otro proyecto, hecho que puede hacer que no compile el segundo proyecto.

Si estas haciendo una ventana tipo " debugger " para mostrar variables o resultados de consultas etc, puedes crearte una carpeta llamada "Forms Utiles", dentro de ella colocas los forms que quieras.Añade esa ruta al Library Path en Tools -> Enviroment options.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #3  
Antiguo 07-04-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.110
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Creo que en tu mensaje mezclas varias cosas. Vamos a tratar de dar respuesta al menos a algunas de ellas. En todas las unidades puedes incluir una claúsula "inizialization" y otra "finalization", que pueden contener código a ejecutar cuando la unidad sea "cargada" y cuando la unidad sea "descargada" por la aplicación.

Sin embargo, tú hablas de mostrar la "típica ventana que sale de la ventana principal del tipo acerca de..."... Pero aclaremos esto. Si se trata de una ventana del tipo "acerca de..." (tal como yo la entiendo) esta no "sale" automáticamente, sino en respuesta del evento "onclick" de un "item" del menú principal, por ejemplo.

Y si hablamos de la típica ventana "Splash" que aparece en algunas aplicaciones (sobre todo en las que han de "cargar" determinadas cosas antes de que la aplicación esté lista para usarse), esta no suele mostrarse desde la cláusula "initialization" de alguna unidad, sino que suele codificarse lo necesario en el propio archivo del proyecto (.dpr) antes incluso de que se cree el formulario principal de la aplicación. Si buscas en los foros por "splash screen" encontrarás información al respecto.

Respecto a la segunda cuestión que planteas...

Cita:
Y la segunda, si tengo una unit creada de otro programa, como puedo hacer que el nuevo proyecto la recoja, porque ya estaba creado el form anteriormente.
Puedes utilizar el menú de Delphi: "Project -> Add to project" para añadir las unidades que quieras a tu proyecto. Hecho esto bastará que en cualquiera de las cláusulas "uses" (dentro de la "interface" o de la "implementation"), digo, bastará conque escribas la unidad que quieres utilizar, de la misma forma que verás otras unidades:

Código Delphi [-]
unit UnaUnidad;

interface

uses
  Forms, SysUtils, Windows, Messages, MiOtraUnidad;

implementation

end.

Me permito para finalizar recomendarte el artículo Anatomy of a Delphi Unit de Zarko Gajic.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #4  
Antiguo 07-04-2007
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 18
anubis Va por buen camino
Gracias por la contestacion. Tienes razon, si hago varias preguntas en el mismo hilo, es un lio, sobretodo por los que buscamos en los post informacion.

Me centro sobre una cuestion. Si le meto inicialization al final por ejemplo, y le meto codigo me dice a la hora de compilar violation address.
He metido el codigo hasta con el begin y el end pero tampoco me funciona, esto como es entonces.

gracias de nuevo por vuestra paciencia.
Responder Con Cita
  #5  
Antiguo 08-04-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.110
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Tienes que dejar claro lo que quieres llevar a cabo. A mí personalmente no me queda claro qué estás queriendo hacer. Por otro lado, siempre que puedas y venga al caso (como ahora, me parece) copia por aquí el código fuente que te está causando problemas. Tal vez a partir de ahí sea más sencillo tratar de echarte una mano.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #6  
Antiguo 08-04-2007
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 18
anubis Va por buen camino
La verdad es que estoy intentando hacer un programa, pero en delphi estoy un poco perdido. Saber con que voy contando con cosas simples es un paso, estoy mirando manuales, apuntes, etc, pero hay cosas que parece que no van. Se que son cosas de muy novato, pero estoy picado con el delphi, porque muchos me han dicho que esta obsoleto pero yo insisto.
La pregunta que estaba haciendo es, donde pongo initialization y que puedo poner dentro porque me da error al poner cualquier codigo en el. Si pongo initialization antes de las procedures me dan error las procedures y si lo pongo despues me da error en la linea de codigo que puse.

Por eso la pregunta es, si initialization lleva algo especial a parte de ponerlo asi porque interesa añadir lineas de codigo al programa independientemente de los eventos que esten añadidos.

inicializacion
begin
....
end;

eso imagino que es asi.

y perdonadme si pregunto demasiado cosas tan obvias.

muchas gracias

Última edición por anubis fecha: 08-04-2007 a las 20:05:22.
Responder Con Cita
  #7  
Antiguo 09-04-2007
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Cita:
Empezado por anubis
Por eso la pregunta es, si initialization lleva algo especial a parte de ponerlo asi porque interesa añadir lineas de codigo al programa independientemente de los eventos que esten añadidos.

inicializacion
begin
....
end;

eso imagino que es asi.
No no lleva algo especial... para responderte te remito a un mensaje que puse en una ocasión:

Cita:
Empezado por Yo
sería recomendable que te fijes en la página 58, 60, 62 y siguientes de La Cara Oculta de Delphi 4. Alli se describe bien tus dudas. Te recomiendo que la leas, te va a servir de mucha ayuda para iniciarte; no te asustes por lo de Delphi 4... porque mucho no ha cambiado.
Creo que lo que expongo allí te puede ser de ayuda.

Y me uno a lo que dice Dec, sería bueno que expongas el código que tienes para que podamos ver en donde está el error.
Saludos
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #8  
Antiguo 09-04-2007
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 18
anubis Va por buen camino
Bueno se agradecen las ayudas, sorry si me repito.

Os pongo un codigo simple, creacion de dos forms, y dos unidades

Cita:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,Unit2, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

initialization
begin
form2.showmodal;
end;
end.
si pongo el form2.showmodal ahi me da error de violacion de memoria.
Estuve mirando tambien la cara oculta de delphi 4, y me sale igual.

gracias de nuevo


edito: El problema no es con el initialization sino con la llamada al form.showmodal, si lo pongo en el form on create llamando al boton 1 que llama al showmodal me ocurre lo mismo, tengo que declarar en algun sitio los forms para reservar espacio en memoria?

imagino que debe ser una tonteria pero me esta dando quebraderos de cabeza.

Última edición por anubis fecha: 09-04-2007 a las 11:18:36.
Responder Con Cita
  #9  
Antiguo 09-04-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Mira en Project -> Options, allí tienes 2 listbox, en uno pone "autocreate forms" en el otro "Available Forms", si quieres que se creen automáticamente, déjalos en Autocreate. Si quieres crearlos tú y liberarlos de memoria, deja el form principal en Autocreate y el resto en Available.

Para ver cuando se crean los Forms, elige Project -> View Source y verás el archivo dpr de delphi, donde se ve el orden en que se crean las ventanas.

Intuyo que no has tocado nada de esas opciones anteriores, y por tanto, delphi creará el form1 y después el form2. Cuando está inicializando la parte del Form1, todavía no está creado el Form2 por eso obtienes el access violation.

Lo mismo ocurre en el evento OnCreate del Form1. El form1 se ha terminado de construir, pero no así el Form2 que todavía no existe.

Yo al menos no entiendo por qué quieres que salte el Form1 y acto seguido el Form2.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #10  
Antiguo 10-04-2007
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 18
anubis Va por buen camino
Gracias. Ya parece que es eso que comentas, tendria que crear bajo codigo los forms y despues ya poder llamarlos.
el porque de llamar al form1 desde el form2 al principio es por ver primero el form1 y luego llamar al form2 que es de acceso de usuarios, esto es asi porque es la primera vez que se ejecuta la aplicacion y exige que se introduzca un usuario y contraseña, porque mas adelante, durante la aplicacion poder cambiar de usuario y aprovechar la unit.
Me podeis decir que quiza mejor saque directamente la unit de usuarios cambiando el orden en el proyecto, pero no me intersa que puedan acceder a otras opciones del windows (asi me lo han pedido) asi que el form1 ocupa toda la pantalla como un tpv.

gracias de nuevo, a ver como me sale hacer el form1

que puede ser asi en una unit

[quote]
class function TVentanamodal.mostrar (ATag:integer): Tmodalresult;
with create application) do
try
tag:=atag;
result:=showmodal;
finally
free;
end;
end;me da eror en el class function
Responder Con Cita
  #11  
Antiguo 10-04-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Buscando en el foro por "ventana password" sale muy buenos resultados.

Por ejemplo (y barriendo para dentro de casa ) este hilo

Pero vamos, que hay muchos más dependiendo de como lo quieras.
Otro mas
...y otro

Creo que por hoy basta

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #12  
Antiguo 10-04-2007
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 18
anubis Va por buen camino
gracias de nuevo, eso lo voy a probar, pero si sabeis como puedo crear una ventana modal porque me estan dando errores.
Responder Con Cita
  #13  
Antiguo 11-04-2007
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 18
anubis Va por buen camino
gracias a todos, ya me funcionan como queria las ventanas modales.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Lanzar ventana de servicios de windows hector_etv Varios 16 12-09-2006 15:18:25
En mi aplicacion MDI quiero crear una ventana hija desde otra ventana hija Durbed Varios 8 05-07-2005 11:51:54
Cerrar una ventana desde otra Aura OOP 9 16-05-2005 18:20:49
Dibujar en otra ventana dfv Gráficos 1 11-04-2005 18:07:50
Ventana dentro de otra CarmaZone Varios 4 28-03-2005 10:34:55


La franja horaria es GMT +2. Ahora son las 00:06:26.


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