Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros temas > La Taberna
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-04-2008
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cazando errores

Hola, pongo este mensaje en el foro de "La Taberna" porque lo hago como un comentario a los amigos, debido a que no sé si será publicidad, aunque creo que no, que es una utilidad estupenda para cualquier desarrollador Delphi.

La cosa es que ¿quién no se ha vuelto loco alguna vez buscando algún error que el depurador de Delphi no nos informa correctamente de cuál es el problema?.

Pues gracias a un estupendo programa que he conocido por el blog de "Delphi al límite" eso ya no será un problema. En una sola palabra: IMPRESIONANTE.

Os dejo el enlace y desde allí podéis ir a la página del fabricante, hay un video tutorial estupendo y ya me comentaréis si vale la pena o no. Yo ya lo he pedido a mis jefes, por si cuela

http://delphiallimite.blogspot.com/2...eurekalog.html
Responder Con Cita
  #2  
Antiguo 11-04-2008
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
No creo que los jefes entren al trapo:
Cita:
Company License (unlimited developers) €449

Pero para un desarrollador autónomo:
Cita:
Single Developer License €149

No cabe duda que lo mejor es no equivocarse nunca, "como el Papa".

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 11-04-2008
Avatar de jcarteagaf
[jcarteagaf] jcarteagaf is offline
Miembro Premium
 
Registrado: abr 2006
Ubicación: La Paz, Bolivia
Posts: 651
Poder: 19
jcarteagaf Va por buen camino
Eurekalog

Es una excelente herramienta, la venimos usando desde la version 5.0

Los errores nos llegan al mail con toda la información que necesitamos para identificar el problema.

Es muy recomendable.
Responder Con Cita
  #4  
Antiguo 11-04-2008
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Sin embargo la opción del correo me parece extraordinaria.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #5  
Antiguo 11-04-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Otra alternativa, con la JVCL, más concretamente con la JCL, que ya sabemos es gratuita.

En el primer Form o datamodule:
Código Delphi [-]

initialization
 //--------------------------------------------------------------------------------------------------
 // JclDebug initialization and finalization for VCL application
//--------------------------------------------------------------------------------------------------

   // Enable raw mode (default mode uses stack frames which aren't always generated by the compiler)
  Include(JclStackTrackingOptions, stRawMode);
  // Disable stack tracking in dynamically loaded modules (it makes stack tracking code a bit faster)
  Include(JclStackTrackingOptions, stStaticModuleList);

  // Initialize Exception tracking
  JclStartExceptionTracking;

finalization

  // Uninitialize Exception tracking
  JclStopExceptionTracking;

El resultado de una excepción, aunque se puede obtener más info, yo me contento con el Call Stack que lo envío a un archivo de texto. Aquí ves tooooooda la pila de llamadas desde que se inició la aplicación "MiPrograma.exe"
Código Delphi [-]
17:23:22:075 > 09/04/2008 17:23:22:075{--------------------------- INICIO DE SESION ---------------------------}
17:23:31:709 > ** EXCEPCION ** > SqlCode: -625  ClassName: EMDOFirebirdError
validation error for column IDCLIENTE, value "*** null ***"
Este mensaje anterior lo tengo en el Application.OnException


Stack :
[0052B51B] MDO.MDODataBaseError (Line 390, "MDO.pas" + 41) + $13
[005319D0] MDOCustomDataSet.TMDOCustomDataSet.GetActiveBuf (Line 1757, "MDOCustomDataSet.pas" + 6) + $2
[0053254E] MDOCustomDataSet.TMDOCustomDataSet.InternalGetFieldData (Line 2197, "MDOCustomDataSet.pas" + 30) + $F
[00531C0F] MDOCustomDataSet.TMDOCustomDataSet.GetFieldData (Line 1855, "MDOCustomDataSet.pas" + 8) + $7
[004ED335] DB.TDataSet.GetFieldData + $45
[004ED3F7] DB.TDataSet.GetFieldData + $107
[005319DC] MDOCustomDataSet.TMDOCustomDataSet.GetActiveBuf (Line 1759, "MDOCustomDataSet.pas" + 8) + $2
[0053254E] MDOCustomDataSet.TMDOCustomDataSet.InternalGetFieldData (Line 2197, "MDOCustomDataSet.pas" + 30) + $F
[005319D0] MDOCustomDataSet.TMDOCustomDataSet.GetActiveBuf (Line 1757, "MDOCustomDataSet.pas" + 6) + $2
[0053252A] MDOCustomDataSet.TMDOCustomDataSet.InternalGetFieldData (Line 2193, "MDOCustomDataSet.pas" + 26) + $D
[00531C0F] MDOCustomDataSet.TMDOCustomDataSet.GetFieldData (Line 1855, "MDOCustomDataSet.pas" + 8) + $7
[005319D0] MDOCustomDataSet.TMDOCustomDataSet.GetActiveBuf (Line 1757, "MDOCustomDataSet.pas" + 6) + $2
[0053252A] MDOCustomDataSet.TMDOCustomDataSet.InternalGetFieldData (Line 2193, "MDOCustomDataSet.pas" + 26) + $D
[00531C0F] MDOCustomDataSet.TMDOCustomDataSet.GetFieldData (Line 1855, "MDOCustomDataSet.pas" + 8) + $7
[004ED335] DB.TDataSet.GetFieldData + $45
[004ED3F7] DB.TDataSet.GetFieldData + $107
[00478AFF] Controls.TWinControl.DefaultHandler + $D7
[004759B0] Controls.TControl.WndProc + $188
[00478A1B] Controls.TWinControl.WndProc + $157
[0046B2B8] StdCtrls.TButtonControl.WndProc + $6C
[004A4BC4] JvExStdCtrls.TJvExButton.WndProc + $4E4
[004A4C00] JvExStdCtrls.TJvExButton.WndProc + $520
[0041FB48] Classes.TThreadList.UnlockList + $4
[004319C0] Graphics.FreeMemoryContexts + $98
[00478698] Controls.TWinControl.MainWndProc + $2C
[004786AD] Controls.TWinControl.MainWndProc + $41
[0042A648] Classes.StdWndProc + $14
[00478AFF] Controls.TWinControl.DefaultHandler + $D7
[004688AD] StdCtrls.TCustomEdit.DefaultHandler + $2D
[004759B0] Controls.TControl.WndProc + $188
[004A1FA0] JvExControls.TJvExCustomControl.WndProc + $4E4
[00478A1B] Controls.TWinControl.WndProc + $157
[0041FB48] Classes.TThreadList.UnlockList + $4
[004319C0] Graphics.FreeMemoryContexts + $98
[00478698] Controls.TWinControl.MainWndProc + $2C
[004786AD] Controls.TWinControl.MainWndProc + $41
[0042A648] Classes.StdWndProc + $14
[005319D0] MDOCustomDataSet.TMDOCustomDataSet.GetActiveBuf (Line 1757, "MDOCustomDataSet.pas" + 6) + $2
[0053252A] MDOCustomDataSet.TMDOCustomDataSet.InternalGetFieldData (Line 2193, "MDOCustomDataSet.pas" + 26) + $D
[00531C0F] MDOCustomDataSet.TMDOCustomDataSet.GetFieldData (Line 1855, "MDOCustomDataSet.pas" + 8) + $7
[004ED335] DB.TDataSet.GetFieldData + $45
[004ED3F7] DB.TDataSet.GetFieldData + $107
[0042A648] Classes.StdWndProc + $14
[00490732] Forms.Default + $3A
[0049095A] Forms.TCustomForm.ClientWndProc + $1D6
[00478A1B] Controls.TWinControl.WndProc + $157
[0041FB48] Classes.TThreadList.UnlockList + $4
[004319C0] Graphics.FreeMemoryContexts + $98
[00478698] Controls.TWinControl.MainWndProc + $2C
[004786AD] Controls.TWinControl.MainWndProc + $41
[0042A648] Classes.StdWndProc + $14
[005319D0] MDOCustomDataSet.TMDOCustomDataSet.GetActiveBuf (Line 1757, "MDOCustomDataSet.pas" + 6) + $2
[0053252A] MDOCustomDataSet.TMDOCustomDataSet.InternalGetFieldData (Line 2193, "MDOCustomDataSet.pas" + 26) + $D
[005319D0] MDOCustomDataSet.TMDOCustomDataSet.GetActiveBuf (Line 1757, "MDOCustomDataSet.pas" + 6) + $2
[0053252A] MDOCustomDataSet.TMDOCustomDataSet.InternalGetFieldData (Line 2193, "MDOCustomDataSet.pas" + 26) + $D
[00531C0F] MDOCustomDataSet.TMDOCustomDataSet.GetFieldData (Line 1855, "MDOCustomDataSet.pas" + 8) + $7
[004ED335] DB.TDataSet.GetFieldData + $45
[004ED3F7] DB.TDataSet.GetFieldData + $107
[00531C0F] MDOCustomDataSet.TMDOCustomDataSet.GetFieldData (Line 1855, "MDOCustomDataSet.pas" + 8) + $7
[004ED335] DB.TDataSet.GetFieldData + $45
[004ED3F7] DB.TDataSet.GetFieldData + $107
[00531C0F] MDOCustomDataSet.TMDOCustomDataSet.GetFieldData (Line 1855, "MDOCustomDataSet.pas" + 8) + $7
[004ED335] DB.TDataSet.GetFieldData + $45
[004ED3F7] DB.TDataSet.GetFieldData + $107
[00531C0F] MDOCustomDataSet.TMDOCustomDataSet.GetFieldData (Line 1855, "MDOCustomDataSet.pas" + 8) + $7
[004ED335] DB.TDataSet.GetFieldData + $45
[004ED3F7] DB.TDataSet.GetFieldData + $107
[005319D0] MDOCustomDataSet.TMDOCustomDataSet.GetActiveBuf (Line 1757, "MDOCustomDataSet.pas" + 6) + $2
[0053252A] MDOCustomDataSet.TMDOCustomDataSet.InternalGetFieldData (Line 2193, "MDOCustomDataSet.pas" + 26) + $D
[005319D0] MDOCustomDataSet.TMDOCustomDataSet.GetActiveBuf (Line 1757, "MDOCustomDataSet.pas" + 6) + $2
[0053252A] MDOCustomDataSet.TMDOCustomDataSet.InternalGetFieldData (Line 2193, "MDOCustomDataSet.pas" + 26) + $D
[004026E2] System.SysGetMem + $196
[004048F0] System.@TryFinallyExit + $10
[00402658] System.SysGetMem + $10C
[005319D0] MDOCustomDataSet.TMDOCustomDataSet.GetActiveBuf (Line 1757, "MDOCustomDataSet.pas" + 6) + $2
[00531C0F] MDOCustomDataSet.TMDOCustomDataSet.GetFieldData (Line 1855, "MDOCustomDataSet.pas" + 8) + $7
[005319D0] MDOCustomDataSet.TMDOCustomDataSet.GetActiveBuf (Line 1757, "MDOCustomDataSet.pas" + 6) + $2
[004ED335] DB.TDataSet.GetFieldData + $45
[004ED3F7] DB.TDataSet.GetFieldData + $107
[0047AE61] Controls.TWinControl.CMInvalidate + $9
[004759B0] Controls.TControl.WndProc + $188
[00478AFF] Controls.TWinControl.DefaultHandler + $D7
[004759B0] Controls.TControl.WndProc + $188
[00478A1B] Controls.TWinControl.WndProc + $157
[00478B19] Controls.TWinControl.DefaultHandler + $F1
[004906E1] Forms.TCustomForm.WndProc + $421
[00404FF3] System.@LStrFromPCharLen + $23
[00475780] Controls.TControl.Perform + $24
[00477BD6] Controls.TWinControl.GetControl + $32
[0047AEC7] Controls.TWinControl.CMInvalidate + $6F
[004759B0] Controls.TControl.WndProc + $188
[004026E2] System.SysGetMem + $196
[004048F0] System.@TryFinallyExit + $10
[004026B6] System.SysGetMem + $16A
[004EDC47] DB.TDataSet.IsLinkedTo + $2F
[004026E2] System.SysGetMem + $196
[004048F0] System.@TryFinallyExit + $10
[00402658] System.SysGetMem + $10C
[004026E2] System.SysGetMem + $196
[00478A1B] Controls.TWinControl.WndProc + $157
[004026B6] System.SysGetMem + $16A
[004A1770] JvExControls.TJvExCustomControl.BaseWndProc + $24
[004026E2] System.SysGetMem + $196
[004048F0] System.@TryFinallyExit + $10
[004026B6] System.SysGetMem + $16A
[00402891] System.SysFreeMem + $199
[00478A1B] Controls.TWinControl.WndProc + $157
[004A1FA0] JvExControls.TJvExCustomControl.WndProc + $4E4
[004A1FDC] JvExControls.TJvExCustomControl.WndProc + $520
[00404260] System.@CallDynaInst + $4
[00475780] Controls.TControl.Perform + $24
[004026E2] System.SysGetMem + $196
[004048F0] System.@TryFinallyExit + $10
[00402658] System.SysGetMem + $10C
[00402BAA] System.@GetMem + $A
[00404FB0] System.@NewAnsiString + $C
[00519AB0] JvDBLookup.TJvLookupControl.DataLinkRecordChanged (Line 941, "JvDBLookup.pas" + 8) + $1D
[004E96BE] DB.TDataLink.DataEvent + $72
[004F45B7] DBCtrls.TFieldDataLink.DataEvent + $F
[004E9C95] DB.TDataSource.NotifyLinkTypes + $3D
[004E9CC6] DB.TDataSource.NotifyDataLinks + $1E
[004E9CF3] DB.TDataSource.DataEvent + $23
[004EDF9C] DB.TDataSet.DataEvent + $130
[00536096] MDOCustomDataSet.TMDOCustomDataSet.WriteRecordCache (Line 3918, "MDOCustomDataSet.pas" + 5) + $19
[005344C2] MDOCustomDataSet.TMDOCustomDataSet.InternalSetFieldData (Line 3061, "MDOCustomDataSet.pas" + 53) + $8
[0053552C] MDOCustomDataSet.TMDOCustomDataSet.SetFieldData (Line 3611, "MDOCustomDataSet.pas" + 7) + $6
[004ED455] DB.TDataSet.SetFieldData + $45
[004ED4F6] DB.TDataSet.SetFieldData + $E6
[004ED335] DB.TDataSet.GetFieldData + $45
[004ED3F7] DB.TDataSet.GetFieldData + $107
[004ED335] DB.TDataSet.GetFieldData + $45
[004ED3F7] DB.TDataSet.GetFieldData + $107
[00490732] Forms.Default + $3A
[0049095A] Forms.TCustomForm.ClientWndProc + $1D6
[0042A648] Classes.StdWndProc + $14
[004024F2] System.TryHarder + $EE
[004026BF] System.SysGetMem + $173
[00402891] System.SysFreeMem + $199
[004028B9] System.SysFreeMem + $1C1
[00402BD5] System.@FreeMem + $5
[00404EFC] System.@LStrClr + $1C
[00404FF3] System.@LStrFromPCharLen + $23
[0040508A] System.@LStrFromPWCharLen + $4E
[00402BD5] System.@FreeMem + $5
[00404EFC] System.@LStrClr + $1C
[00404FF3] System.@LStrFromPCharLen + $23
[0040508A] System.@LStrFromPWCharLen + $4E
[0047B0EB] Controls.TWinControl.GetClientRect + $F
[0042E13E] Graphics.TCanvas.Unlock + $1E
[0045BDBC] ComCtrls.TToolBar.CNNotify + $5FC
[004026E2] System.SysGetMem + $196
[004048F0] System.@TryFinallyExit + $10
[004026B6] System.SysGetMem + $16A
[004759B0] Controls.TControl.WndProc + $188
[004688AD] StdCtrls.TCustomEdit.DefaultHandler + $2D
[004759B0] Controls.TControl.WndProc + $188
[0040B513] SysUtils.FmtStr + $B7
[0040B39F] SysUtils.FormatBuf + $367
[0047B0EB] Controls.TWinControl.GetClientRect + $F
[0042E13E] Graphics.TCanvas.Unlock + $1E
[0045BDBC] ComCtrls.TToolBar.CNNotify + $5FC
[004759B0] Controls.TControl.WndProc + $188
[0047B0EB] Controls.TWinControl.GetClientRect + $F
[0042E13E] Graphics.TCanvas.Unlock + $1E
[0045BDBC] ComCtrls.TToolBar.CNNotify + $5FC
[00491B4F] Forms.TCustomForm.DefaultHandler + $4B
[004795D9] Controls.TWinControl.WMSetCursor + $F5
[004759B0] Controls.TControl.WndProc + $188
[00492413] Forms.TCustomForm.WMEraseBkGnd + $1B
[004759B0] Controls.TControl.WndProc + $188
[00478A1B] Controls.TWinControl.WndProc + $157
[0042E13E] Graphics.TCanvas.Unlock + $1E
[004906E1] Forms.TCustomForm.WndProc + $421
[0041FB48] Classes.TThreadList.UnlockList + $4
[004319C0] Graphics.FreeMemoryContexts + $98
[00478698] Controls.TWinControl.MainWndProc + $2C
[004786AD] Controls.TWinControl.MainWndProc + $41
[0042A648] Classes.StdWndProc + $14
[0040B397] SysUtils.FormatBuf + $35F
[0040B39F] SysUtils.FormatBuf + $367
[004026E2] System.SysGetMem + $196
[004048F0] System.@TryFinallyExit + $10
[004026B6] System.SysGetMem + $16A
[00402BAA] System.@GetMem + $A
[00404FB0] System.@NewAnsiString + $C
[00404FF3] System.@LStrFromPCharLen + $23
[0040B513] SysUtils.FmtStr + $B7
[004759B0] Controls.TControl.WndProc + $188
[00492413] Forms.TCustomForm.WMEraseBkGnd + $1B
[004759B0] Controls.TControl.WndProc + $188
[0042A648] Classes.StdWndProc + $14
[00478A1B] Controls.TWinControl.WndProc + $157
[004906E1] Forms.TCustomForm.WndProc + $421
[0041FB48] Classes.TThreadList.UnlockList + $4
[004319C0] Graphics.FreeMemoryContexts + $98
[00478698] Controls.TWinControl.MainWndProc + $2C
[004786AD] Controls.TWinControl.MainWndProc + $41
[0042A648] Classes.StdWndProc + $14
[00478AFF] Controls.TWinControl.DefaultHandler + $D7
[0041DF6A] Classes.Rect + $1A
[00478E07] Controls.TWinControl.PaintControls + $14B
[00478C56] Controls.TWinControl.PaintHandler + $F2
[004A0397] JvThemes.FixedWMPrintClient (Line 1862, "JvThemes.pas" + 7) + $B
[004A03A9] JvThemes.FixedWMPrintClient (Line 1866, "JvThemes.pas" + 11) + $5
[0042A648] Classes.StdWndProc + $14
[004026E2] System.SysGetMem + $196
[004048F0] System.@TryFinallyExit + $10
[00402658] System.SysGetMem + $10C
[004026E2] System.SysGetMem + $196
[004048F0] System.@TryFinallyExit + $10
[004026B6] System.SysGetMem + $16A
[0053BF7A] MDOSQL.TMDOXSQLVAR.SetIsNull (Line 1321, "MDOSQL.pas" + 17) + $1A
[00402BFD] System.@ReallocMem + $D
[0052B2A8] MDO.MDOAlloc (Line 331, "MDO.pas" + 1) + $4
[004028B9] System.SysFreeMem + $1C1
[0054157E] MDODatabase.TMDOTransaction.CheckInTransaction (Line 1476, "MDODatabase.pas" + 3) + $2
[00541A69] MDODatabase.TMDOTransaction.GetDatabase (Line 1643, "MDODatabase.pas" + 1) + $8
[00541517] MDODatabase.TMDOTransaction.Call (Line 1463, "MDODatabase.pas" + 6) + $0
[0053CA9F] MDOSQL.TMDOSQL.Call (Line 1932, "MDOSQL.pas" + 3) + $C
[0053CE9F] MDOSQL.TMDOSQL.ExecQuery (Line 2049, "MDOSQL.pas" + 55) + $40
[00533AE5] MDOCustomDataSet.TMDOCustomDataSet.InternalPostRecord (Line 2819, "MDOCustomDataSet.pas" + 28) + $3
[0053393B] MDOCustomDataSet.TMDOCustomDataSet.InternalPost (Line 2774, "MDOCustomDataSet.pas" + 32) + $9
[004EF401] DB.TDataSet.CheckOperation + $29
[004EDF9C] DB.TDataSet.DataEvent + $130
[004EF0B3] DB.TDataSet.Post + $47
[00534AE8] MDOCustomDataSet.TMDOCustomDataSet.Post (Line 3242, "MDOCustomDataSet.pas" + 25) + $2
[004F6E31] DBCtrls.TDBNavigator.BtnClick + $F1
[004F6C85] DBCtrls.TDBNavigator.ClickHandler + $D
[00475B48] Controls.TControl.Click + $64
[004453D8] Buttons.TSpeedButton.Click + $0
[004453C2] Buttons.TSpeedButton.MouseUp + $E2
[004F738F] DBCtrls.TNavButton.MouseUp + $17
[00475F34] Controls.TControl.DoMouseUp + $2C
[00475FA9] Controls.TControl.WMLButtonUp + $69
[00475EC6] Controls.TControl.WMMouseMove + $6E
[004759B0] Controls.TControl.WndProc + $188
[00478A1B] Controls.TWinControl.WndProc + $157
[004906E1] Forms.TCustomForm.WndProc + $421
[00490732] Forms.Default + $3A
[00475780] Controls.TControl.Perform + $24
[004982A7] Forms.TApplication.DispatchAction + $7F
[004964B3] Forms.TApplication.WndProc + $46F
[0042A648] Classes.StdWndProc + $14
[00475780] Controls.TControl.Perform + $24
[004788B2] Controls.TWinControl.IsControlMouseMsg + $82
[0047899E] Controls.TWinControl.WndProc + $DA
[00478698] Controls.TWinControl.MainWndProc + $2C
[0042A648] Classes.StdWndProc + $14
[00493A8F] Forms.TraverseClients + $4F
[004357F2] Contnrs.TComponentList.GetItems + $A
[004979FD] Forms.TApplication.StopHintTimer + $15
[00496C77] Forms.TApplication.ProcessMessage + $83
[00496CAE] Forms.TApplication.HandleMessage + $A
[00496EDE] Forms.TApplication.Run + $96
[0064FC60] MiPrograma.MiPrograma(Line 66, "" + 5) + $7

¿No recuerdas el hilo "Debuguear en tiempo de ejecución"?.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #6  
Antiguo 30-06-2008
IVAND IVAND is offline
Miembro
 
Registrado: may 2003
Ubicación: ECUADOR
Posts: 523
Poder: 21
IVAND Va por buen camino
Buen programa parece estoy pensando en comprarlo solo una cosa porque el ejecutable se me duplica o incrementa su tamano hasta en un 65% mas al compilar con este programa
__________________
IVAND
Responder Con Cita
  #7  
Antiguo 01-07-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
ya uses EurekaLog o la JVCL, se debe guardar en el ejecutable la información de depuración, para que al ejecutarse pueda crearse "un árbol" de las llamadas que se hacen.

Supongo que de ambas formas, al hacer un Build de tu proyecto se generará un archivo .map en la carpeta del programa, edítalo con el bloc de notas y verás más o menos lo que se guarda.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #8  
Antiguo 01-07-2008
IVAND IVAND is offline
Miembro
 
Registrado: may 2003
Ubicación: ECUADOR
Posts: 523
Poder: 21
IVAND Va por buen camino
Gracias por tu respuesta lepe

Entonces el crecimiento del ejecutable es inminente .... y entonces que puedo usar para compactar ese ejecutable pues mi aplicacion tiene 40 mb imaginense con eurekalog tendria como 100 mb algo medio pesado no creen ....


Gracias por sus consejos
__________________
IVAND

Última edición por IVAND fecha: 01-07-2008 a las 16:58:40. Razón: error de digitacion
Responder Con Cita
  #9  
Antiguo 03-07-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Como suele decirse.... no se puede tener todo.

Lo mejor es trocear el ejecutable, bien creando dlls (ten a mano las aspirinas) o bien en bpl (Borland Package Library) en cuanto a dificultad, será menos lioso que las dlls, pero también tendrás que realizar muchas modificaciones al código, cargando los paquetes que requieras en cada momento y destruyendo de memoria los que desusas. Mira la ayuda y el foro de LoadPackage (creo recordar, si me equivoco, corríjanme).

De ambas formas el tamaño del ejecutable disminuye, la memoria RAM se usará de forma más eficiente, pero si tienes abiertas todas las ventanas de tu programa, por supuesto que ocupará los 40 o 100 megas en memoria.

La opción más rápida es marcar en Project -> Options la opcion de Build with runtime Package, verás que el ejecutable se reduce, pero tienes que distribuir con tu programa las bpls listadas en esa caja.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
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
Errores Delphi W98 - XP marcial Varios 0 21-01-2006 19:12:11
Capturar errores de sql piccolo2101 SQL 3 20-01-2006 11:21:04
Control de errores Sql MITOPE Conexión con bases de datos 3 23-07-2004 10:48:49
Errores de película santana Humor 0 08-06-2004 17:14:58


La franja horaria es GMT +2. Ahora son las 02:59:19.


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