Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-03-2009
Avatar de defcon1_es
defcon1_es defcon1_es is offline
Miembro
 
Registrado: mar 2004
Ubicación: Cuenca - España
Posts: 533
Poder: 21
defcon1_es Va por buen camino
Al abrir proyecto, hay forms que se crean solos

Buenos dias, forer@s.

Llevo ya unos dias con un caso que me trae de cabeza, y hasta que no instalé el paquete cnPack, no vi realmente las dimensiones del problema:

Al abrir un proyecto concreto con mi delphi 6, se instancian automáticamente tanto el formulario principal del proyecto, como varios (8 o 10) módulos de datos.
Esto sería correcto si al cerrar dicho proyecto, se estubo trabajando con esos datamodules, pero no es asi.

Ejemplo: abro el dpr, y abro sólo una unit, que en el uses no tiene ni el formulario principal ni ninguno de los datamodules, pero estos si que los instancia delphi automáticamente, porque si compruebo desde un ejecutable con la función FindWindow si existe el formulario principal, me devuelve que si, que ya hay una ventana con ese nombre.
El nombre del formulario principal es bastante dificil que coincida con alguna de las ventanas en el momento de la comprobación.

¿Alguna idea, sugerencia al respecto?
__________________
Progress Openedge
https://abevoelker.com/progress_open...dered_harmful/


Delphi forever...
Responder Con Cita
  #2  
Antiguo 12-03-2009
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.269
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Tal vez con algo de código quedaría más claro.
¿Estás ejecutando el IDE cuando haces las comprobaciones?
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 12-03-2009
Avatar de defcon1_es
defcon1_es defcon1_es is offline
Miembro
 
Registrado: mar 2004
Ubicación: Cuenca - España
Posts: 533
Poder: 21
defcon1_es Va por buen camino
Cita:
Empezado por Neftali Ver Mensaje
Tal vez con algo de código quedaría más claro.
¿Estás ejecutando el IDE cuando haces las comprobaciones?
Hola Neftalí.

Enumero los pasos que realizo:

1) Abro Delphi 6 con los parámetros -hm -np
2) Abro el proyecto en cuestion y sólo me muestra la unit de constantes con la que cerré el proyecto antes.
3) Mediante la opción "View Forms" de la CnPack ya veo que hay instanciados 10 datamodules y el formulario principal (aparecen en rojo)
4) Sin hacer nada más en Delphi, ejecuto un exe que tengo preparado ya de antemano con la función FindWindow para que busque si hay una ventana de la clase del formulario principal, y me dice que si que hay.

¿Qué código quieres que te ponga?

La búsqueda de la ventana la hago asi:
Código Delphi [-]
function EsWindowsNT:Boolean;
var Versio: OSVERSIONINFO;
begin
  // versión de windows?
  Versio.dwOSVersionInfoSize := SizeOf(OSVERSIONINFO);
  GetVersionEx(Versio);
  // Si no es W95, W98 o millenium
  Result := (Versio.dwPlatformID = VER_PLATFORM_WIN32_NT);
end;

// Esta es la función que comprueba si existe una ventana según su clase
function PodemosEmpezar: Boolean;
var Wdw: HWND;
begin
  if EsWindowsNT
  then begin
    Wdw := FindWindow('TFormPrincipalquedaelproblema', nil);
    if Wdw = 0 then
  // No hay instancia en ejecución
      Result := True
    else
  // Instancia en ejecución
      Result := False;
  end
  else Result := True;
end;
__________________
Progress Openedge
https://abevoelker.com/progress_open...dered_harmful/


Delphi forever...
Responder Con Cita
  #4  
Antiguo 12-03-2009
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
Hola,
se me ocurre que quizas has modificado los templates iniciales, de alguna manera...
Responder Con Cita
  #5  
Antiguo 12-03-2009
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.269
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Pues con ese va bien, ya que he podido comprobar lo jismo que tú.
En mi caso hago lo mismo, pero sólo me da que el formulario está abierto cuando realmente está abierto.

Es decir, cuando en el IDE lo tengo abierto.
Al abrir el formulario, sólo me aparecen en rojo (en CnPack) los que realmente tengo abiertos.
El problema es saber porqué al abrir tu proyecto te los está instanciando, ya que segun el comportamiento de mi Delphi no los abre (D6) y parece que cnPack tampoco.

¿Tienes algun otro experto instalado que pueda estar haciendo esto?
¿te pasa si creas otro proyecto en blanco conun par de formularios?
¿Y si a ese proyecto de prueba le añades un DM?
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #6  
Antiguo 12-03-2009
Avatar de defcon1_es
defcon1_es defcon1_es is offline
Miembro
 
Registrado: mar 2004
Ubicación: Cuenca - España
Posts: 533
Poder: 21
defcon1_es Va por buen camino
Cita:
Empezado por Neftali Ver Mensaje
¿Tienes algun otro experto instalado que pueda estar haciendo esto?
Tenia GExperts y DelphiSpeedUp, pero los he desinstalado y sigue igual.
Cita:
Empezado por Neftali Ver Mensaje
¿te pasa si creas otro proyecto en blanco con un par de formularios?
No, sólo con ese proyecto en concreto.
En el resto de proyectos que tengo, eso no pasa.
Cita:
Empezado por Neftali Ver Mensaje
¿Y si a ese proyecto de prueba le añades un DM?
No crea automaticamente el nuevo datamodule, siempre crea los mismos


Lo malo de esto, es que cuando los tengo abiertos, no puedo hacer un build del proyecto.

¿Se os ocurre algo que pueda mirar?
__________________
Progress Openedge
https://abevoelker.com/progress_open...dered_harmful/


Delphi forever...
Responder Con Cita
  #7  
Antiguo 12-03-2009
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.269
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
¿Algun componente externo (estoy pensando an algunos de multiidioma) que pueda hacer la carga?
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #8  
Antiguo 12-03-2009
Avatar de defcon1_es
defcon1_es defcon1_es is offline
Miembro
 
Registrado: mar 2004
Ubicación: Cuenca - España
Posts: 533
Poder: 21
defcon1_es Va por buen camino
coso: ¿Cómo se modifican los templates?
disculpa, pero no se a que te refieres.

Neftalí: pues no, no se usa ningún componente multiidioma.
se usa el componente wwIntl de InfoPower 3000, pero es para cambiar los mensajes de los componentes de InfoPower.

Muestro un resumen de las clases usadas en el proyecto:

[Application1]
File Number=2795679982
TAction=168
TActionList=6
TAppEvents=1
TBarSeries=6
TBevel=161
TBitBtn=691
TBlobField=76
TBooleanField=82
TButton=287
TChart=1
TCheckBox=764
TCheckListBox=2
TClientSocket=1
TColorDialog=15
TComboBox=149
TCopyFile=2
TDataSource=741
TDateEdit=1
TDateField=46
TDateTimeField=933
TDateTimePicker=87
TDBChart=5
TDBCheckBox=8
TDBEan=10
TDBEdit=3
TDBGrid=3
TDBImage=2
TDBLookupComboBox=8
TDBMemo=21
TDBRadioGroup=7
TDBText=613
TDesignQuickReport=2
TDirectoryEdit=11
TDirectoryListBox=1
TDistractBar=7
TdxContainer=2
TdxWinXPBar=12
TEan=4
TEasyListview=1
TEdit=360
TEditCopy=2
TEditCut=2
TEditPaste=2
TEditUndo=2
TElTree=1
TEnhancedListbox=2
TEventScrollbox=1
TfcImageBtn=5
TfcLabel=44
TfcPanel=33
TfcShapeBtn=36
TFileListBox=1
TFilenameEdit=4
TFloatField=5649
TFontDialog=13
TFontEdit=1
TFormTransitions=2
TGauge=2
TGroupBox=521
THeader=1
TIBClientDataSet=16
TIBDatabase=5
TIBQuery=12
TIBSQL=13
TIBStoredProc=1
TIBStringField=5093
TIBTransaction=9
TIBUpdateSQL=4
TIdAntiFreeze=1
TIdMessage=3
TIdPOP3=1
TIdSMTP=2
TImage=61
TImageList=33
TIntegerField=3772
TJvDBGridExcelExport=1
TJvDBSpinEdit=74
TJvDirectoryEdit=2
TJvDriveCombo=1
TJvEdit=1
TJvFilenameEdit=2
TJvGradient=3
TJvGradientHeaderPanel=22
TJvImageComboBox=1
TJvPageControl=1
TJvPanel=12
TJvProgressComponent=1
TJvRadioGroup=2
TJvSpinEdit=5
TJvTabControl=1
TJvTabDefaultPainter=2
TLabel=4209
TLabeledEdit=12
TLineSeries=55
TListBox=62
TListView=10
TMainMenu=5
TMaskEdit=6
TMemo=85
TMemoField=44
TMenuItem=987
TNotebook=3
TOpenDialog=12
TOpenPictureDialog=1
TPage=16
TPageControl=88
TPanel=1721
TpgBoton=697
TpgButton=44
TpgDBCheckBox=165
TpgDBComboBox=48
TpgDBDateTimePicker=129
TpgDBEdit=1835
TpgDBEditLookup=1074
TpgDBGrid=364
TpgDBImage=36
TpgDBLookupCombo=7
TpgDBLookupComboDialogo=2
TpgDBRadioGroup=29
TpgFormContainer=1
TpgGroupBox=72
TpgIBDataSet=150
TpgIBQuery=653
TpgIBStoredProc=216
TpgRadioGroup=27
TpgRxMemoryData=147
TpgTable=18
TPopupMenu=142
TPrintDialog=2
TPrinterSetupDialog=1
TProgressBar=4
TPsQRFilters=1
TQProgressBar=2
TQRBand=96
TQRChart=3
TQRChildBand=1
TQRDBChart=3
TQrDBEan=4
TQRDBImage=28
TQRDBText=402
TQRDLoader=1
TQrEan=1
TQRepDesigner=1
TQRExpr=18
TQRGroup=17
TQRImage=12
TQRLabel=746
TQRPreview=1
TQRShape=130
TQRSysData=49
TRadioButton=60
TRadioGroup=122
TReportDesignerDialog=2
TReportPrinterDialog=4
TRulerPanel=1
TRxCalcEdit=10
TRxCheckListBox=4
TRxDBComboEdit=5
TRxLabel=6
TRxMemoryData=7
TRxRichEdit=4
TRxSpinEdit=25
TSaveDialog=7
TScrollBox=8
TSession=1
TShape=19
TShellTree=3
TSkinData=1
TSmallintField=884
TSpeedButton=701
TSplitter=2
TStaticText=61
TStatusBar=5
TStrHolder=2
TStringField=1546
TStringGrid=3
TsuiButton=22
TsuiEdit=3
TsuiForm=3
TsuiMessageDialog=1
TsuiNumberEdit=2
TsuiPanel=6
TTabbedNotebook=2
TTabControl=6
TTabPage=7
TTabSheet=304
TTextListBox=14
TTimer=37
TToolBar=2
TToolButton=29
TUnZip=1
TUPClickSplitter=23
TUpDown=8
TWebBrowser=1
TwwDataInspector=21
TwwDataSource=1
TwwDBComboBox=63
TwwDBDateTimePicker=5
TwwDBEdit=1
TwwDBGrid=5
TwwDBNavigator=10
TwwDBSpinEdit=8
TwwExpandButton=31
TwwIButton=85
TwwIncrementalSearch=2
TwwIntl=1
TwwLookupDialog=6
TwwMemoDialog=90
TwwNavButton=60
TZip=1
__________________
Progress Openedge
https://abevoelker.com/progress_open...dered_harmful/


Delphi forever...
Responder Con Cita
  #9  
Antiguo 12-03-2009
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
Yo tampoco lo se muy bien...imagino que deben haber ciertos templates, aunque no lo se seguro, para crear desde cero las forms, datamodules, services, etc, y pense que, de alguna manera, podria ser que alguno de los experts que tenia instalado hubiesen modificado estos templates iniciales. De todas maneras, releyendo la pregunta, ya vi que no debian ir por alla los tiros. saludos.
Responder Con Cita
  #10  
Antiguo 12-03-2009
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
La verdad es que no entiendo muy bien la pregunta: se te instancian 8 datamodules en un proyecto, uno concreto? en tiempo de ejecucion o de diseño? si es en tiempo de ejecucion, debe aparecer en algun lado los create, ya sea en la unit de project o bien en otro lado. Si es en tiempo de diseño, eliminandolos manualmente (tanto las referencia en la clausula unit como los ficheros .dfm, .pas en si)... se te vuelven a crear una vez cerrado y reabierto el proyecto? por otra banda...que contienen estos datamodules? estan vacios? son instancias de un datamodule creado por ti o es algo completamente nuevo? la verdad es q lo que te ocurre tiene algo raro ...
Responder Con Cita
  #11  
Antiguo 12-03-2009
Avatar de defcon1_es
defcon1_es defcon1_es is offline
Miembro
 
Registrado: mar 2004
Ubicación: Cuenca - España
Posts: 533
Poder: 21
defcon1_es Va por buen camino
Cita:
Empezado por coso Ver Mensaje
La verdad es que no entiendo muy bien la pregunta: se te instancian 8 datamodules en un proyecto, uno concreto? en tiempo de ejecucion o de diseño? si es en tiempo de ejecucion, debe aparecer en algun lado los create, ya sea en la unit de project o bien en otro lado. Si es en tiempo de diseño, eliminandolos manualmente (tanto las referencia en la clausula unit como los ficheros .dfm, .pas en si)... se te vuelven a crear una vez cerrado y reabierto el proyecto? por otra banda...que contienen estos datamodules? estan vacios? son instancias de un datamodule creado por ti o es algo completamente nuevo? la verdad es q lo que te ocurre tiene algo raro ...
Es en tiempo de diseño, nada mas abrir ese proyecto en concreto con delphi, y no, no estan vacios, están "llenos" de TIBDataSet, TIBQuery, TDataSources, etc.
Mañana probaré a eliminarlos del proyecto y volverlos a incluir, a ver si asi lo soluciono.

Gracias y que descanseis.
__________________
Progress Openedge
https://abevoelker.com/progress_open...dered_harmful/


Delphi forever...

Última edición por defcon1_es fecha: 19-11-2009 a las 17:26:23.
Responder Con Cita
  #12  
Antiguo 19-11-2009
Avatar de defcon1_es
defcon1_es defcon1_es is offline
Miembro
 
Registrado: mar 2004
Ubicación: Cuenca - España
Posts: 533
Poder: 21
defcon1_es Va por buen camino
Ya he dado con el problema y la solución:

Resulta que para hacer el programa "más vistoso", a mi jefe se le ocurrió poner un DBImage en el formulario principal
de la aplicación de Gestión Comercial, para mostrar el logotipo de la empresa (es multi-empresa),
y el DBImage tiene el datasource en un módulo de datos que sólo contiene DataSources
(sus DataSets están en otros módulos de datos: dmcompras, dmventas, dmcobros, etc).

Al quitarle en diseño el DataSource al DBImage, Delphi ya no instancia en diseño esos DataModules (el de los DataSources y el resto).

Se le asigna en ejecución y ya está.
__________________
Progress Openedge
https://abevoelker.com/progress_open...dered_harmful/


Delphi forever...
Responder Con Cita
  #13  
Antiguo 20-11-2009
rafita rafita is offline
Miembro
 
Registrado: ago 2003
Ubicación: Cuenca- España.
Posts: 309
Poder: 21
rafita Va por buen camino
"a mi jefe se le ocurrió poner un DBImage en el formulario principal"
El amigo Jesús siempre tan brillante.
Como se nota que tiene quien le saque del atolladero.
S2
__________________
Rafita.
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
Mostrar una ventana "Inicializando" mientras se crean las Forms mancurnino Varios 6 08-05-2008 00:50:00
Como tener 2 o mas forms en un proyecto? Chriskb Varios 2 19-09-2007 22:58:51
Numeros Float...cambian solos BlueSteel Varios 1 05-07-2007 22:43:58
Visualizar Forms de otro proyecto karocs Varios 5 08-07-2005 17:41:40
Abrir proyecto de D3 en D5? superfer17 Varios 2 15-02-2005 12:37:01


La franja horaria es GMT +2. Ahora son las 21:07:15.


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