Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Go Back   Foros Club Delphi > Principal > Varios
Register FAQ Members List Calendar Guía de estilo Search Today's Posts Mark Forums Read

Coloboración Paypal con ClubDelphi

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 12/06/2007
mauqu mauqu is offline
Miembro
 
Join Date: May 2007
Posts: 28
Poder: 0
mauqu Va por buen camino
variable inexistente

Estimados, muchas gracias por la respuesta a mi anterior pregunta, ahora tengo una nueva, algunas veces cuando creo variables locales en un procedimiento o función y le asigno un valor y por último pongo un punto de interrupción en esta asignación, el punto de interrupción se pone con una cruz y el flujo nunca pasa por esa asignación, por que ???

Código Delphi [-]
procedure unProcedimiento;
var
  i:integer;
  s:char; //esta variable no la toma en cuenta el flujo
  l:string;
begin
  i:=0; //por acá pasa bién
  s:=char(66); //por acá no pasa
  l:='OTRA VARIABLE' // por acá pasa bíen
end;

gracias.
Reply With Quote
  #2  
Old 12/06/2007
dec's Avatar
dec dec is offline
Moderador
 
Join Date: Dec 2004
Location: Alcobendas, Madrid, España
Posts: 13,142
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

En este caso el compilador "no se para" porque en realidad no haces uso de ninguna variable luego de declararlas. O sea, el compilador dice, "subrimo las instrucciones de declaración de estas variables, puesto que no se utilizan".

Código Delphi [-]
procedure unProcedimiento;
var
  i:integer;
  s:char; //esta variable no la toma en cuenta el flujo
  l:string;
begin
  i:=0; //por acá pasa bién
  s:=char(66); //por acá no pasa
  l:='OTRA VARIABLE' // por acá pasa bíen

  ShowMessage(s);
end;

Prueba ahora verás como "se para".
__________________
David Esperalta
www.decsoftutils.com
Reply With Quote
  #3  
Old 12/06/2007
[maeyanes] maeyanes is offline
Capo de los Capos
 
Join Date: May 2003
Location: Campeche, México
Posts: 2,732
Poder: 26
maeyanes Va por buen camino
A lo que se refiere Dec es que el compilador de Delphi hace optimización de código, esto es, con variables que solo se inicializan y luego no las vuelves a usar, el compilador las elimina del ejecutable para ahorro de memoria, lo que sucede en tu caso.


Saludos...
Reply With Quote
  #4  
Old 12/06/2007
[egostar] egostar is offline
Registrado
 
Join Date: Feb 2006
Posts: 6,572
Poder: 27
egostar Va camino a la fama
Pero si quieres "forzar" a que pase por esas variables, colócalas como globales y no como locales. Digo, si es cosa de aferrase

Salud OS.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Reply With Quote
  #5  
Old 12/06/2007
roman's Avatar
roman roman is offline
Moderador
 
Join Date: May 2003
Location: Ciudad de México
Posts: 20,269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
También puede anular la optimización en Project|Options, pestaña Compiler.

// Saludos
Reply With Quote
  #6  
Old 12/06/2007
dec's Avatar
dec dec is offline
Moderador
 
Join Date: Dec 2004
Location: Alcobendas, Madrid, España
Posts: 13,142
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Quote:
Originally Posted by egostar
Pero si quieres "forzar" a que pase por esas variables, colócalas como globales y no como locales. Digo, si es cosa de aferrase
¿Y por qué "pasará" por las variables globales (pero que no se usan) y no por las variables locales? ¿Alguien sabe?
__________________
David Esperalta
www.decsoftutils.com
Reply With Quote
  #7  
Old 12/06/2007
roman's Avatar
roman roman is offline
Moderador
 
Join Date: May 2003
Location: Ciudad de México
Posts: 20,269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Supongo que porque el compilador no ve a distancia y no puede determinar si tal variable se usa o no en otra parte de la aplicación.

// Saludos
Reply With Quote
  #8  
Old 12/06/2007
[egostar] egostar is offline
Registrado
 
Join Date: Feb 2006
Posts: 6,572
Poder: 27
egostar Va camino a la fama
Yo supongo que las variables locales solo son accesibles en el procedimiento o función en que es declarada por lo que es 'fácil' saber si son usadas o no, pero las variables globales pueden ser accesibles incluso desde cualquier otra unidad, por lo que sería demasiado trabajo para identificar si es usada o no.

Bueno, eso pienso

Salud OS.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
variable dentro de una variable molinero1 Varios 3 23/04/2007 12:44
Conocer el menor inexistente brandolin Firebird e Interbase 3 25/01/2007 12:27
Variable!! jdattoli Conexión con bases de datos 3 10/05/2006 10:10
variable con sql Cosgaya Tablas planas 3 15/12/2005 15:49
Excepción "Invalid property value" en botón inexistente melanthea C++ Builder 1 07/07/2004 18:12


All times are GMT +2. The time now is 06:46.


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