Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   componentes no aparecen en el formulario (https://www.clubdelphi.com/foros/showthread.php?t=79014)

oscarac 03-06-2012 06:15:34

componentes no aparecen en el formulario
 
Buenas noches

hace tiempo que hice un programita en delphi utilizando Jedi, recientemente lo abri y no me aparecen los componentes Jedi en el formulario

adjunto el formulario principal.. alguien tiene alguna idea de como hacer para que aparezcan?
o que pudo suceder ?

Código Delphi [-]
unit frmMain_f;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, JvPanel, JvSplitter,
  JvComponentBase, JvNavigationPane, JvExControls, JvPageList, JvXPBar,
  JvXPCore, JvXPContainer, JvAnimTitle, JvaScrollText, JvScrollText,
  JvComponent, iniFiles, ImgList, StdCtrls, jpeg;

type
  TfrmMain = class(TForm)
    JvPanel1: TJvPanel;
    JvXPContainer1: TJvXPContainer;
    Consumo: TJvXPBar;
    Tablas: TJvXPBar;
    JvPanel3: TJvPanel;
    Panel1: TPanel;
    procedure JvXPBar3Items0Click(Sender: TObject);
    procedure JvXPBar1Items0Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure JvXPBar1Items2Click(Sender: TObject);
    procedure JvXPBar3Items2Click(Sender: TObject);
    procedure JvXPBar3Items1Click(Sender: TObject);
    procedure JvXPBar2Items1Click(Sender: TObject);
    procedure JvXPBar3Items3Click(Sender: TObject);
    procedure JvXPBar4Items1Click(Sender: TObject);
    procedure JvXPBar2Items0Click(Sender: TObject);
    procedure JvXPBar3Items4Click(Sender: TObject);
    procedure ProcesoItems0Click(Sender: TObject);
  private
       { Private declarations }
  public
    _Serie, _Origen, _Igv : string;
    { Public declarations }
  end;

var
  frmMain: TfrmMain;
  const
    STR_EMPTY = '';
    CONFIG_SECTION = 'Serie';

implementation

uses frmCatalogoTrabajador_f, frmValesdeConsumo_f, frmPassword_f,
  dmComedor_d, frmCatalogoHorario_f, frmCatalogoArticulo_f,
  frmConsumoTrabajador_f, frmNumeracion_f, frmCambioFecha_f,
  frmFacturacion_f, frmcCosto_f, frmActualizacion_f;

{$R *.dfm}

procedure TfrmMain.JvXPBar3Items0Click(Sender: TObject);
begin
  frmCatalogoTrabajador := TfrmCatalogoTrabajador.Create(Self);
  frmCatalogoTrabajador.Show;
end;

procedure TfrmMain.JvXPBar1Items0Click(Sender: TObject);
begin
  frmValesdeConsumo := TfrmValesdeConsumo.Create(nil);
  frmValesdeConsumo.Show;
end;

procedure TfrmMain.FormCreate(Sender: TObject);
Var ini:TIniFile; fName : String;
begin
  self.Caption := dmComedor.g_NombreUsuario +  ' Consumos del Dia : ' + DateToStr(dmComedor.g_FECHA);
  fName := ChangeFileExt(Application.ExeName,'.ini');
   ini := TIniFile.Create(fName);
  _Origen := ini.ReadString(CONFIG_SECTION, 'Origen', STR_EMPTY);
  _Serie := ini.ReadString(CONFIG_SECTION, 'Serie', STR_EMPTY);
  _Igv := ini.ReadString(CONFIG_SECTION, 'Igv', STR_EMPTY);
end;

procedure TfrmMain.JvXPBar1Items2Click(Sender: TObject);
begin
  Application.Terminate;
end;

procedure TfrmMain.JvXPBar3Items2Click(Sender: TObject);
begin
  frmCatalogoHorario := TfrmCatalogoHorario.Create(nil);
  frmCatalogoHorario.Show;
end;

procedure TfrmMain.JvXPBar3Items1Click(Sender: TObject);
begin
  frmCatalogoArticulo := TfrmCatalogoArticulo.Create(nil);
  frmCatalogoArticulo.Show;
end;

procedure TfrmMain.JvXPBar2Items1Click(Sender: TObject);
begin
  frmConsumoTrabajador := TfrmConsumoTrabajador.Create(nil);
  frmConsumoTrabajador.Show;
end;

procedure TfrmMain.JvXPBar3Items3Click(Sender: TObject);
begin
  frmNumeracion := TfrmNumeracion.Create(nil);
  frmNumeracion.Show;
end;

procedure TfrmMain.JvXPBar4Items1Click(Sender: TObject);
begin
  frmCambioFecha := TfrmCambioFecha.Create(nil);
  frmCambioFecha.Show;
end;

procedure TfrmMain.JvXPBar2Items0Click(Sender: TObject);
begin
  frmfacturacion := Tfrmfacturacion.Create(nil);
  frmfacturacion.Show;
end;

procedure TfrmMain.JvXPBar3Items4Click(Sender: TObject);
begin
  frmCCosto := TfrmCCosto.create(nil);
  frmCCosto.Show;
end;

procedure TfrmMain.ProcesoItems0Click(Sender: TObject);
begin
  frmActualizacion := TfrmActualizacion.Create(nil);
  frmActualizacion.Show;
end;

end.

Al González 03-06-2012 18:52:34

Cita:

Empezado por oscarac (Mensaje 434164)
[...] alguien tiene alguna idea de como hacer para que aparezcan?
o que pudo suceder ?

Muestra el formulario y presiona Alt+F12 para ver el contenido del archivo DFM. ¿Están ahí dentro las declaraciones "object" de tales componentes? ¿Qué valor tienen en Left y Top?

En caso de no estar, lo que pudo haber sucedido es que a la hora de abrir el formulario no se cargaran los componentes que hicieran uso de propiedades que ya no están disponibles en la actual versión de Delphi / Jedi. Cuando eso pasa, Delphi te solicita qué hacer; lo usual es decirle que ignore esas propiedades obsoletas, pues de lo contrario no te cargará el componente.

Casimiro Notevi 03-06-2012 19:41:33

También puede ser que si no da ningún error es porque los componentes están ahí, en el formulario, pero en una posición que no se ven.
Puedes seleccionarlos en el inspector de objetos y cambiar la posición 'left' y 'top' para reposicionarlos en un lugar visible.

oscarac 05-06-2012 06:45:54

Solo esto me aparece cuando presiono alt+f12
Código Delphi [-]
object frmMain: TfrmMain
  Left = 74
  Top = 52
  BorderIcons = [biMinimize, biMaximize]
  BorderStyle = bsSingle
  Caption = 'Principal'
  ClientHeight = 615
  ClientWidth = 956
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'Tahoma'
  Font.Style = []
  FormStyle = fsMDIForm
  OldCreateOrder = False
  Position = poScreenCenter
  Scaled = False
  WindowState = wsMaximized
  OnCreate = FormCreate
  PixelsPerInch = 96
  TextHeight = 13
  object Panel1: TPanel
    Left = 0
    Top = 0
    Width = 956
    Height = 615
    Align = alClient
    Enabled = False
    FullRepaint = False
    TabOrder = 0
    Visible = False
  end
end

lo curioso es que cuando quiero agregar el mismo componente me dice que ya existe....

Casimiro Notevi 05-06-2012 08:55:10

Me temo que en ese formulario tienes un panel y... nada más.
Seguramente tienes el código bien y el panel mal.
En el .pas tendrás todo, pero el .frm está vacio.
¿No tendrás un backup del mismo?

oscarac 05-06-2012 16:22:22

existe algun decompilador de Delphi?
alguna vez oi hablar de un programa llamado Delphi Decompiler... (DeDe)

oscarac 06-06-2012 06:59:40

afortunadamente si tenia un backup del programa, pero me quedo la siguiente duda:

si me equivoco me corrigen el archivo DFM "guarda" la lista de componentes que se incluyen en el formulario y que tambien podria ser manipulados desde ahi (corregir ancho, largo, etc)

si uno tiene la habilidad de "incluir" mas componentes en el DFM se reflejan en el Form????,

comento esto porque cuando quise agregar los mismos componentes que "no estaban", me decia que ya estaban en el form (sin embargo no se veian), no se si sera un problema de delphi o quiza hice algo que no debia (que no creo)

Casimiro Notevi 06-06-2012 09:14:32

Claro, el dfm es el Form, lo puedes ver en modo texto o en modo gráfico, con los botones, paneles, etc.
También, claro, puedes modificar directamente sobre el texto, es que realmente es lo único que existe, el form en modo texto, lo que se ve en delphi es la "interpretación" de ese fichero de texto dfm.
Sí, puedes añadir componentes en ese form tecleando, tan sólo debes saber dónde y cómo.
Evidentemente, debe coincidir todo con el .pas ya que si en el .dfm hay un label1 y en el .pas se llama label2, está claro que delphi va a avisarte que hay algo mal.
Prueba a crear un formulario vacio y miras el texto del dfm, luego añade al formulario un componente y miras el texto del dfm, así puedes ir viendo cómo trabaja, realmente es simple.

Por cierto, menos mal que tenías un backup :)


La franja horaria es GMT +2. Ahora son las 06:19:48.

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