PDA

Ver la Versión Completa : Comportamiento de una form


fwhite
03-08-2011, 12:41:29
Hola amigos:
Haber si alguno de vosotros puede resolverme este problema. Dentro de un proyecto creo una form estilo MDIChild. La form esta declarada en el proyecto correctamente. Cierro Delphi 6 y cuando lo vuelvo a abrir todo está perfectamente declarado, pero al intentar abrir la form esta no me aparece. Todo esto en tiempo de diseño. En tiempo de ejecución, al pulsar el boton que abr la form me da el siguiente mensaje:
""Project Escuelas.exe raised exception class EResNotFound with message 'Resource tfmEntrenadores nor found' "".
Decirme que es lo que pasa. Graciñas.

Neftali [Germán.Estévez]
03-08-2011, 13:35:52
Parece que hay algun problema con el fichero DFM.
¿Está correcto? ¿Lo tienes en su sitio?
Lo puedes abrir con el notepad o cualquier otro editor de textos y er si lo que hay dentro parace "normal"

beginner01
03-08-2011, 14:30:49
saludos.

asegurate de que en la unidad que le corresponde a ese formluario este esta directiva.

{$R *.DFM}

fwhite
03-08-2011, 14:54:39
Hola Neftali:
Abrí el dfm de la form con el bloc de notas sin problemas, lo comparé con otro dfm y no vi nada que pareciese anormal.
Este problema se me repitió, ya que borré todo lo relacionado con este form y lo volví a crear, dándome el mismo problema. Haber si me puedes encontrar la solución. Graciñas por todo.

fwhite
03-08-2011, 15:22:53
Hola Beginner01:
Si te refieres a que {$R *.DFM} deba estar después de "imprementation", sí está. Gracias.

Neftali [Germán.Estévez]
03-08-2011, 15:41:50
¿Puedes subir el PAS y el DFM para comprobarlos?

fwhite
03-08-2011, 17:36:25
Por supuesto. Ahi van:



DFM:
object fmEntrenadores: TfmEntrenadores
Left = 265
Top = 211
BorderStyle = bsSingle
ClientWidth = 696
ClientHeight = 480
Caption = 'Entrenadores'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
FormStyle = fsMDIChild
OldCreateOrder = False
Position = poDefault
Visible = True
OnClose = FormClose
OnCreate = FormCreate
PixelsPerInch = 96
TextHeight = 13
object Panel1: TPanel
Left = 0
Top = 0
Width = 688
Height = 41
Align = alTop
TabOrder = 0
object SpeedButton1: TSpeedButton
Left = 264
Top = 8
Width = 23
Height = 22
Glyph.Data = {
76010000424D7601000000000000760000002800000020000000100000000100
04000000000000010000120B0000120B00001000000000000000000000000000
800000800000008080008000000080008000808000007F7F7F00BFBFBF000000
FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00330000000000
03333377777777777F333301BBBBBBBB033333773F3333337F3333011BBBBBBB
0333337F73F333337F33330111BBBBBB0333337F373F33337F333301110BBBBB
0333337F337F33337F333301110BBBBB0333337F337F33337F333301110BBBBB
0333337F337F33337F333301110BBBBB0333337F337F33337F333301110BBBBB
0333337F337F33337F333301110BBBBB0333337F337FF3337F33330111B0BBBB
0333337F337733337F333301110BBBBB0333337F337F33337F333301110BBBBB
0333337F3F7F33337F333301E10BBBBB0333337F7F7F33337F333301EE0BBBBB
0333337F777FFFFF7F3333000000000003333377777777777333}
NumGlyphs = 2
OnClick = SpeedButton1Click
end
object DBNEntrenadores: TDBNavigator
Left = 8
Top = 8
Width = 240
Height = 25
DataSource = dmEntrenadores.dsEntrenadores
TabOrder = 0
end
end
object PgCtrlEntrenadores: TPageControl
Left = 0
Top = 41
Width = 688
Height = 405
ActivePage = tbShtFicha
Align = alClient
TabIndex = 0
TabOrder = 1
object tbShtFicha: TTabSheet
Caption = 'Ficha'
end
object tbShtNotas: TTabSheet
Caption = 'Notas'
ImageIndex = 1
end
object tbShtLista: TTabSheet
Caption = 'Lista'
ImageIndex = 2
object Panel2: TPanel
Left = 0
Top = 0
Width = 680
Height = 377
Align = alClient
TabOrder = 0
object DBGrid1: TDBGrid
Left = 1
Top = 1
Width = 678
Height = 375
Align = alClient
DataSource = dmEntrenadores.dsEntrenadores
TabOrder = 0
TitleFont.Charset = DEFAULT_CHARSET
TitleFont.Color = clWindowText
TitleFont.Height = -11
TitleFont.Name = 'MS Sans Serif'
TitleFont.Style = []
end
end
end
end
end

PAS:


unit ufmEntrenadores;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Buttons, DBCtrls, ComCtrls, ExtCtrls, Grids, DBGrids;
type
TfmEntrenadores = class(TForm)
Panel1: TPanel;
PgCtrlEntrenadores: TPageControl;
tbShtFicha: TTabSheet;
tbShtNotas: TTabSheet;
tbShtLista: TTabSheet;
DBNEntrenadores: TDBNavigator;
Panel2: TPanel;
SpeedButton1: TSpeedButton;
DBGrid1: TDBGrid;
procedure SpeedButton1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fmEntrenadores: TfmEntrenadores;
implementation
{$R *.DFM}
// uses udmEntrenadores;

procedure TfmEntrenadores.SpeedButton1Click(Sender: TObject);
begin
Close;
end;
procedure TfmEntrenadores.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action := caFree;
end;
end.


Un saludo.

Neftali [Germán.Estévez]
03-08-2011, 17:47:46
Utiliza TAGs cuando coloques código (http://tinyurl.com/y5ctbot) en el foro.

A mi me lo abre perfectamente. En Delphi 6.
http://img263.imageshack.us/img263/8733/imagen811.png

Neftali [Germán.Estévez]
03-08-2011, 17:52:51
Al cerrar, eso si, me avisa de que hay un par de cosas incoherentes:

Hay que eliminar del DFM las lineas:

OnCreate = FormCreate
DataSource = dmEntrenadores.dsEntrenadores

Por que son elementos que no existen.

fwhite
03-08-2011, 17:53:37
A mi ahora también me lo hace. Creo que fué después de abrir el PAS manualmente, pues otra razón no la veo. Si encontrais algo que pudiera ser el motivo del error os ruego que me lo hagas llegar.
Graciñas Neftali por tu atención y tambien a beginner01 por su respuesta.