Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   [DCC Error] Unit_ClienteExterno.pas(72):E2233 Property 'Date' inaccessible here (https://www.clubdelphi.com/foros/showthread.php?t=51384)

saltamirano 13-12-2007 20:36:54

[DCC Error] Unit_ClienteExterno.pas(72):E2233 Property 'Date' inaccessible here
 
Saludos Navideños Amigos,

Por pedirles una ayudita, estoy trabajando con el control DateTimePicker, he puesto el siguiente código:
procedure TForm_Cliente.DateTimePicker1Click(Sender: TObject);
var dMiFecha : TDate;
begin
TDateTimePicker.Date:= Date + 30;
dMiFecha:=TDateTimePicker.Date;
ShowMessage(DateToStr(dMiFecha));
end;
Pero una vez que lo compilo me muestra el siguiente error:
[DCC Error] Unit_ClienteExterno.pas(72):E2233 Property 'Date' inaccessible here
Estoy investigando y tengo una suposición de que de pronto me falta una librería. Por fa si alguien me podría dar una guía, les agradezco de antemano.

egostar 13-12-2007 21:32:13

Cita:

Empezado por saltamirano (Mensaje 252497)
Saludos Navideños Amigos,

Por pedirles una ayudita, estoy trabajando con el control DateTimePicker, he puesto el siguiente código:
procedure TForm_Cliente.DateTimePicker1Click(Sender: TObject);
var dMiFecha : TDate;
begin
TDateTimePicker.Date:= Date + 30;
dMiFecha:=TDateTimePicker.Date;
ShowMessage(DateToStr(dMiFecha));
end;
Pero una vez que lo compilo me muestra el siguiente error:
[DCC Error] Unit_ClienteExterno.pas(72):E2233 Property 'Date' inaccessible here
Estoy investigando y tengo una suposición de que de pronto me falta una librería. Por fa si alguien me podría dar una guía, les agradezco de antemano.

Bueno, estas usando el nombre del componente TDateTimePicker para hacer la asignación....

Código Delphi [-]
 
TDateTimePicker.Date:= Date + 30;

Yo digo que debes usar algo como esto....

Código Delphi [-]
 
DateTimePicker1.Date:= Date + 30;

Nota: Si agregaste el componente TDateTimePicker a tu forma verdad????

Salud OS

saltamirano 13-12-2007 23:12:59

E2233 Property 'Date' inaccessible here
 
Hola egostar,

Mil gracias por tu respuesta, te cuento le puse el mismo nombre que tiene en Miscelaneous: DateTimePicker1, e inclusive le intente con: Unit_ClienteExterno.Form_Cliente.TDateTimePicker1.Date, lo que está con morado le marca con rojo en el programa, y presenta en Structure: Undeclared identifier 'TDateTimePicker' at line 74 (74:52), Undeclared identifier 'Date' at line 74 (74:59).

En la ayuda de Delphi busque, E2233 Property 'Date' inaccessible here y me dice:
"An attempt has been made to access a property through a class reference type. It is not possible to access fields nor properties of a class through a class reference."

"There is no other solution to this problem than to remove the offending property access from your source code. If you wish to access properties or fields of a class, then you need to create an instance variable of that class type and gain access through that variable"

Me parece que no le reconoce al control TDateTimePicker.

Saludos

Lepe 14-12-2007 18:22:33

Código Delphi [-]
DateTimePicker.Date:= Date + 30;
dMiFecha:=DateTimePicker.Date;

Eso ahora está bien.

Si te dice que "Date" no lo reconoce, usa:
Código Delphi [-]
dMiFecha:=Trunc(DateTimePicker.DateTime);
Creo recordar del foro que, aunque usemos "Date", el datetimepicker incluye la fecha y hora.

Saludos

egostar 14-12-2007 18:47:49

Eh hecho una pequeña prueba sobre tu problema y así es como debe de funcionar

Código Delphi [-]
 
procedure TForm1.DateTimePicker1Click(Sender: TObject);
var dMiFecha : TDate;
begin
  DateTimePicker1.Date:= Date + 30;
  dMiFecha := DateTimePicker1.Date;
  ShowMessage(DateToStr(dMiFecha));
end;

Aquí te pongo la imagen de como lo hace.

http://egostar.clubdelphi.com/varios/DTP.PNG

Solo veo algo curioso, porque estas usando el evento OnClick del mismo componente, te agrega 30 dias si le das clic y te cambia el resultado.

No se que quieras hacer pero eso yo lo pondría mejor en un evento de otro componente, como un Boton por ejemplo.
Salud OS


La franja horaria es GMT +2. Ahora son las 19:01:12.

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