Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #5  
Antiguo 19-02-2007
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 23
gluglu Va por buen camino
Gracias de nuevo Lepe.

Estoy utilizando BDS 2006 en VCL.NET. No sé si eso tendrá algo que ver. El error es típico al menos para mi, siempre y cuando haya algún objeto que todavía no esté instanciado y se intenta acceder a él, o a alguna de sus propiedades, eventos, etcétera.

No sé si es apropiada para mi la solución que me explicas. No intento acceder desde el Form Principal al DataSet del Frame. Para mi el problema es más simple que todo eso pero no sé el por qué del error que me sale.

Mi form principal es BookingMain y este es parte del código :

Al llamar a BookingMain desde mi menú principal, le paso un número de reserva que deseo abrir.

Código Delphi [-]
  ...
  public
    { Public declarations }
    Num_Booking    : Int64;
    BookingFrame11 : TBookingFrame1;
    ...
    constructor Create2(Param_1: Int64);
  end;

constructor TBookingMain.Create2(Param_1: Int64);
begin
  Num_Booking := Param_1;
  inherited Create(Application);
end;

A continuación, en el OnCreate del BookingMain :
Código Delphi [-]
procedure TBookingMain.FormCreate(Sender: TObject);
begin
 
  IBTransaction1.Active := True;
  IBDataSet1.ParamByName('Num_Book').Value := Num_Booking;
  IBDataSet1.Open;
 
  StatusClick(nil);
  ShowSelectedInitialize;
 
  BookingFrame11 := TBookingFrame1.Create(Self);
  BookingFrame11.Parent  := Self;
 
  ....

  BookingFrame11.FrameEnter(nil);
 
end;
llamo a BookingFrame11.FrameEnter de manera 'manual'. Me interesa así de momento. En cualquier caso, el error de este hilo también me aparece aunque ejecute los comandos de manera que se llamen por el evente BookingFrame1.OnEnter tal y como comentaba anteriormente.

Los procedimientos 'StatusClick' y 'ShowSelectedInitialize' llaman a IBDataSet1 sin problema.

En el Frame :
Código Delphi [-]
procedure TBookingFrame1.FrameEnter(Sender: TObject);
begin
  ...
  MaskEdit1.Text := IntToStr(DaysBetween(BookingMain.IBDataSet1DATEARRIVAL.Value, BookingMain.IBDataSet1DATEDEPARTURE.Value));
  ...
end;
... y es aquí donde me salta el error. Al intenter acceder a BookingMain.IBDataSet1....

Vuelvo a insistir. Si quito la línea
Código Delphi [-]
  BookingFrame11.FrameEnter(nil);
del evento OnCreate de BookingMain, coloco un botón cualquiera en BookingMain, y una vez mostrado todo, pulso el botón y por tanto ejecuto esta última línea, todo funciona correctamente.

.... añado una cosa ahora mismo, que mientras estaba escribiendo el mensaje he probado para cerciorarme.

He probado
Código Delphi [-]
procedure TBookingFrame1.FrameEnter(Sender: TObject);
begin
 
  BookingMain.Caption := 'Prueba';
  ...
y me salta el mismo error : 'Object Reference not set to an instance of an object'.



Una vez más gracias por vuestra ayuda.
__________________
Piensa siempre en positivo !
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Orden de creación de los componentes. krilea Varios 5 19-07-2005 10:39:38
convertir un form en un frame ercrizeporta Varios 6 04-07-2005 21:52:58
Minimizar un Frame fmonte JAVA 0 19-04-2005 01:53:51
Guardar Frame... chechu Varios 3 28-10-2004 19:15:35
Frame gonzjos OOP 1 08-12-2003 15:10:47


La franja horaria es GMT +2. Ahora son las 18:44:06.


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