Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Problema de Sintaxis "R *.res}" (https://www.clubdelphi.com/foros/showthread.php?t=79986)

martini002 26-08-2012 21:19:47

Problema de Sintaxis "R *.res}"
 
Saludos Amigos, donde quiera que se encuentren

Estaba escribiendo un par de lineas
enlazando el Query con la Conexion y con el DataSource,
haciendo cosas normales, y de repente cuando pruebo
me aparece este error:

Código:

Declaration expected but identifier 'R' found
Esto es en el archivo *.DPR
no lo he tocado y pues me ha dado este error muy inesperado
no se como buscarlo en Google no tengo ni la menor idea
de como pueda llamar a esto :(
agradeceria mucho su ayuda como siempre
Saludos

Código Delphi [-]
program ProyectoBase;

uses
  Forms,
  Principal in 'Principal.pas' {Form3},
  Venta in 'Venta.pas' {Form1},
  IngresoInventario in 'IngresoInventario.pas' {Form2},
  PruebaImagen in 'PruebaImagen.pas' {Form4};

R *.res}//Aqui esta el error

begin
  Application.Initialize;
  Application.MainFormOnTaskbar := True;
  ApApplication.CreateForm(TForm3, Form3);
  Application.CreateForm(TForm1, Form1);
  Application.CreateForm(TForm2, Form2);
  Application.CreateForm(TForm4, Form4);
  ication.Run;
end.

martini002 26-08-2012 21:36:15

Yo cada vez mas ciego :/
no me moleste en revisar todo el codigo
ya vi que al parecer se movieron unas letras
listo Arreglado!

Saludos

Código Delphi [-]
program ProyectoBase;

uses
  Forms,
  Principal in 'Principal.pas' {Form3},
  Venta in 'Venta.pas' {Form1},
  IngresoInventario in 'IngresoInventario.pas' {Form2},
  PruebaImagen in 'PruebaImagen.pas' {Form4};

{$R *.res}

begin
  Application.Initialize;
  Application.MainFormOnTaskbar := True;
  Application.CreateForm(TForm3, Form3);
  Application.CreateForm(TForm1, Form1);
  Application.CreateForm(TForm2, Form2);
  Application.CreateForm(TForm4, Form4);
  Application.Run;
end.

dec 26-08-2012 21:50:15

Cita:

Empezado por martini002 (Mensaje 440757)
Yo cada vez mas ciego :/
no me moleste en revisar todo el codigo
ya vi que al parecer se movieron unas letras
listo Arreglado!

¡De ahí que se diga que las lenguas están vivas! ;)

Caral 26-08-2012 22:23:37

Hola
Los forms se crean directamente, asi lo hace delphi, pero no es una buena opción ya que hace lento el arranque del programa.
Te aconsejo que crees los forms cuando los necesites, no al principio, como lo tienes ahora.
Saludos

martini002 26-08-2012 22:31:13

Hola Caral,
se lee interesante eso, pero no te entiendo bien cuando dices "Crearlos cuando los necesites"
Saludos

Caral 26-08-2012 22:59:32

Hola
Cuando haces un nuevo form delphi lo crea al inicio del programa, exactamente donde lo tienes ahora:
Código Delphi [-]
begin
  Application.Initialize;
  Application.MainFormOnTaskbar := True;
  Application.CreateForm(TForm3, Form3);
  Application.CreateForm(TForm1, Form1);
  Application.CreateForm(TForm2, Form2);
  Application.CreateForm(TForm4, Form4);
  Application.Run;
end.
Eso quiere decir que cuando arranca el programa se crearan los forms de una vez, asi con solo hacer un;
Código Delphi [-]
form2.show;
se mostrara el form 2 ya que se creo desde el inicio.
Esto tiene algunas ventajas, pero en la mayoria de los casos no.
Imaginate un programa con 100 forms que se creen desde el inicio, el arranque de ese programa sera muy lento, de ahi que algunos usan programitas que dicen ''se esta cargando''.
La ventaja con delphi es que te permite crear los forms cuando los necesites y liberarlos cuando no, esto se hace en:
Porject
Options (te saldra una pantalla)
En la paleta Forms estan todos los que hiciste, al lado izquierdo estan los que se autocrearan y al lado derecho los que crearas por tu cuenta.
Simplemente pasa los que quieras crear a la derecha.
Ahora para llamarlos no se podra usar un simple show ya que no se han creado, tendras que crearlos asi:
Código Delphi [-]
 Form2:=TForm2.Create(self);
   try
      Form2.ShowModal;
   finally
      Form2.Free;
   end;

Como ves, se crea, se llama y se libera.
Pensaras que es mas trabajo pero cuando hagas muchos forms, reportes etc y el programa crezca veras la diferencia.
Yo me he acostumbrado a hacerlo asi y te aseguro que veras otras ventajas adicionales.
Pruebalo, no pasa nada.
Saludos

martini002 26-08-2012 23:10:39

Perfecto y entendido,
mira como los llamo desde los botones.

Código Delphi [-]
procedure TForm3.Button1Click(Sender: TObject);
begin
  Form1.Show;
end;

procedure TForm3.Button2Click(Sender: TObject);
begin
  Form2.Show;
end;

procedure TForm3.Button3Click(Sender: TObject);
begin
  Form4.Show;
end;

y por ejemplo para el boton 3
quedo asi, y funciona bien
Gracias Infinitas siempre.

Código Delphi [-]
procedure TForm3.Button3Click(Sender: TObject);
begin
 Form4:=TForm4.Create(self);
   try
      Form4.ShowModal;
   finally
      Form4.Free;
   end;
end;

Caral 26-08-2012 23:13:59

Hola
Ahora imaginate que tienes un label en el form4 y quieres cambiarlo al inicio:
Código Delphi [-]
procedure TForm3.Button3Click(Sender: TObject);
begin
 Form4:=TForm4.Create(self);
   try
     Form4.label1.caption:= 'Hola';
      Form4.ShowModal;
   finally
      Form4.Free;
   end;
end;
Ya que el form que esta llamando al form4 esta usando el unit4 no se tendra que hacer nada.
Esas cositas he ido aprendiendo de los Maestros de aqui.^\||/
Saludos

dec 26-08-2012 23:18:06

Hola,

Sólo apuntar que no es lo mismo mostrar un form con su método "Show" que con su método "ShowModal". En todo caso, si se necesitase usar el método "Show" (pues con "ShowModal" lo dicho por Caral es suficiente) también puedes hacerte cargo de la construcción y destrucción de los formularios por tu cuenta, teniendo en cuenta que no podrás liberarlos a continuación de usar el método "Show" (o sea lo que se hace arriba usando "ShowModal") pues el formulario ni llegaría a mostrarse acaso. Dicho esto, en algún caso, merece la pena dejar la construcción de un formulario o módulo de datos en el archivo DPR, puesto que a veces lo necesitaremos (en el caso del módulo de datos) incluso antes que el formulario principal (el primero que se crea). He dicho. :D

Caral 26-08-2012 23:21:52

Hola
Siempre es un gusto verte amigo.
Gracias por la explicación.^\||/
Saludos

dec 26-08-2012 23:30:57

Cita:

Empezado por Caral (Mensaje 440767)
Hola
Siempre es un gusto verte amigo.
Gracias por la explicación.^\||/
Saludos

Gracias, hombre. Un gusto también saberte por aquí. ;)


La franja horaria es GMT +2. Ahora son las 16:29:32.

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