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 17-08-2011
Avatar de DarkBlue
DarkBlue DarkBlue is offline
Miembro
 
Registrado: jun 2010
Posts: 105
Poder: 14
DarkBlue Va por buen camino
por que tengo que poner el nombre del form en el procedure

hola que tal mi duda es muy sencilla y si hubiera manera de evitar esto porfavor sean amables diciendome como(ya que tengo que poner el nombre del form seguido del nombre del componente. por cierto tengo otra duda que esta en mi comentario del codigo. Por su atencion muchas gracias que tengan un buen dia.


Código Delphi [-]


 procedure VerRs;
  var nall,pin,hoja,pinhoja:integer;
  begin

  if (fcotizacionn.claveservicio='-1') or ([COLOR="rgb(255, 140, 0)"]fcotizacionn[/color].claveservicio='') then
  begin
  showmessage('no se ha creado ningun presupuesto para el servicio '+fcotizacionn.DBGrid2.Fields[0].AsString);
  exit;
 fcotizacionn.formcreate(sender)//esta linea siempre me funciona cuando lo
// pongo en un boton pero al ponerlo en el procedimiento no me funciona , me
// dice que la variable sender no esta declarada que le pongo??}
  end;
__________________
Todo es Relativo
Responder Con Cita
  #2  
Antiguo 17-08-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Te explicas poco.
1- supongo que fcotizacionn es un form
2- Si no se declara el procedimiento dentro del type no sabra a que form llamar, por eso se necesita especificar.
3- Dentro del procedimiento de un boton funciona por que esta declarado en el type.
4- Para mi el sender sobra (tal y como lo planteas).
Saludos
__________________
Siempre Novato
Responder Con Cita
  #3  
Antiguo 17-08-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 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
Hola.

La necesidad de calificar al form con el nombre, te la ha explicado perfectamente el amigo Caral.

En cuanto a la línea:
Código Delphi [-]
  fcotizacionn.formcreate(sender)
Primero que nada, no es buena práctica llamar al procedimiento FormCreate manualmente.
FormCreate (de estar asignado a la propiedad OnCreate de tipo TNotifyEvent), debería ser invocado en la creación del form donde se supone que se realizan actividades inherentes a la creación del mismo.

De todas maneras desde tu procedimiento (VerRs) podrías llamarlo así:
Código Delphi [-]
  fcotizacionn.FormCreate(nil);

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #4  
Antiguo 17-08-2011
Avatar de DarkBlue
DarkBlue DarkBlue is offline
Miembro
 
Registrado: jun 2010
Posts: 105
Poder: 14
DarkBlue Va por buen camino
segunda duda

muchas gracias, he intentado hacer lo que me indicaste pero...

Código Delphi [-]

type
  Tfcotizacionn = class(TForm)
    Edit1: TEdit;
    Label1: TLabel;
    ListBox2: TListBox;
....


   procedure Cambiar1Click(Sender: TObject);
    procedure Reparar1Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure RadioGroup1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure algo1Click(Sender: TObject);
    procedure loquesea1Click(Sender: TObject);
    procedure Porcliente1Click(Sender: TObject);
    procedure Pornumerodeserie1Click(Sender: TObject);
    procedure Porplacas1Click(Sender: TObject);
    procedure Pornumerodeserie2Click(Sender: TObject);
    procedure oT1Click(Sender: TObject);
    procedure E1Click(Sender: TObject);
    procedure DBGrid2ColumnMoved(Sender: TObject; FromIndex,
      ToIndex: Integer);
    procedure Producto1Click(Sender: TObject);
    procedure StringGrid1KeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
      procedure VerRs;

//


implementation

{$R *.dfm}


procedure VerRs;
  var nall,pin,hoja,pinhoja:integer;
  begin

  if (fcotizacionn.claveservicio='-1') or ([COLOR="rgb(255, 140, 0)"]fcotizacionn[/color].claveservicio='') then
  begin
  showmessage('no se ha creado ningun presupuesto para el servicio '+fcotizacionn.DBGrid2.Fields[0].AsString);
  exit;
end;





pero me sale un mensaje de error como el siguiente

[Error] cotizaciones.pas(151): Unsatisfied forward or external declaration: 'Tfcotizacionn.VerRs'

espero que me puedas seguir ayudando muchas gracias

ups... ya lo resolvi tenia que darle el nombre del form al procedure de la siguiente manera


procedure tfcotizacionn.procedimiento;
aun asi que bueno que estan por aqui para guiar a otros
__________________
Todo es Relativo

Última edición por DarkBlue fecha: 17-08-2011 a las 05:32:49.
Responder Con Cita
  #5  
Antiguo 17-08-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 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
Hola DarkBlue.

Es que falta la clase en la declaración del procedimiento:
Código Delphi [-]
procedure VerRs;
...

Tendría que ser:
Código Delphi [-]
procedure Tfcotizacionn.VerRs;
...

Un saludo.

Edito: Disculpame. Leí el código y puse la solución sin ver que más abajo decias haberla encontrado.
__________________
Daniel Didriksen

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

Última edición por ecfisa fecha: 17-08-2011 a las 07:42:01. Razón: Aclaración
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
Crear form si solo tengo su nombre como string RJF Varios 4 09-12-2021 18:18:08
Poner por default un nombre de archivo al savedialog Lizette Varios 2 08-03-2009 23:30:09
Obtener el nombre del Form que llamó a otro Form. cybergerman OOP 9 01-01-2009 11:53:29
como puedo poner el nombre del servidor por codigo kurono Varios 5 23-02-2008 19:46:14
Tengo un form Fantasma!! Copeito OOP 1 27-12-2003 19:20:11


La franja horaria es GMT +2. Ahora son las 04:06:53.


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