Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-12-2008
Avatar de Enan0
Enan0 Enan0 is offline
Miembro
 
Registrado: may 2004
Ubicación: Argentina
Posts: 565
Poder: 20
Enan0 Va por buen camino
consulta sobre {$ifdef} and {$define}

Hola chicos. como estan?? espero que preparandose para este año nuevo que nos viene con un gra reto para podos.

Bueno tengo una consulta con los IFDEF and Define.
Lo que quise hacer fue (ya que la aplicacion tiene muchos IFdef. por distintos modulos)
Optimizarlos, de manera que en las Opciones del proyecto, Solo Cargue unos pocos DEF.. (los que generalizan a los modulosde aplicacion) y el Resto Definirlos en el Proyecto pro codigo..

Lo que quedaria de la Siguiente manera.

Código Delphi [-]

Program XXX;

// standard Builds.
{$ifdef Std}
   {$define REGISTEREDVERSION}
   {$define v625}
   {$define drawdots}
   {$define serprogesa}
   {$define Haechler}
   {$define H_v001_b}
   {$define MilestoneColor}
   {$define CustomFields}
   {$define KVK}
   {$define heisel}
   {$define hockey}
   {$define NO_MULTI}
   {$define PTTW}
   {$DEFINE TT_Langs}
   {$define Final}
   {$define WorkDayFix}
{$endif}
// check If a Beta Version
{$ifdef B}
   {$define Beta}
{$endif}
// if v 2007 Load this packagers.
{$ifdef 2007}
   {$define TTv62}
   {$define TTv625}
{$else}
   {$define V7}
   {$define V7_P}
   {$define V7_ico}
   {$define TTv7}
   {$define skin}
   {$define fixscreen}
{$Endif}

(*
Special Functions
*)
//Functions For KvK
{$ifdef KN}
   {$define kvk_n}
{$Endif}
// open Fastes projects
{$ifdef pf}
   {$define v7_f}
{$endif}


USES .....;

El problema es que no ME toma los $DEFINE.. Si los $ifdef Cabeseras..

Alguna IDea?

gracias
Responder Con Cita
  #2  
Antiguo 02-12-2008
Avatar de Enan0
Enan0 Enan0 is offline
Miembro
 
Registrado: may 2004
Ubicación: Argentina
Posts: 565
Poder: 20
Enan0 Va por buen camino
Una cosa mas.

Digamos. Si me Toma el $define.

Si es que este esta en la misma unidad.. (pero no globalmente.)

a esto se debe mi error?

gracias.
Responder Con Cita
  #3  
Antiguo 02-12-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
escribe los defines en un archivo .inc (un archivo de texto estandar para este tipo de cosas), llámalo "Tupaquete.inc"

En cada módulo que lo uses inclúyelo:
Código Delphi [-]

{$I Tupaquete.inc}

implementation

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #4  
Antiguo 03-12-2008
Avatar de Enan0
Enan0 Enan0 is offline
Miembro
 
Registrado: may 2004
Ubicación: Argentina
Posts: 565
Poder: 20
Enan0 Va por buen camino
Hola Lepe..

GRacias por tu Informacion..

es una buena opcion.. pero la verdad que actualmente el Proyecto tiene muchas dependencias.. mas de 200
y la verdad que no me parece facil tener que editar uno a uno..

igual gracias por el dato, un dia que ande con mucha vagancia voy a hacerlo..
Responder Con Cita
  #5  
Antiguo 03-12-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Siempre digo lo mismo.... haz un programa que edite automáticamente los .pas.

No es para nada complejo:
- Haz copia de seguridad !!!!
- Buscar todos los archivos .pas de una carpeta y si acaso recursivo (usa los trucos del foro).
- un bucle while para todos los archivos encontrados:
- carga el primer archivo en un TStringlist con LoadFromFile
- busca la palabra "implementation" y guarda la línea donde la linea donde la has encontrado.
- inserta una nueva linea: stringlistArchivo.insert(lineaImplementation, '{$I archivo.inc}');
- guarda el stringlist.
- ¡¡ a por otro archivo !!

Si has usado los define en la parte interface (arriba del todo del .pas, tendrás que incluir el archivo después de los uses).
Ten en cuenta que quizás algún archivo no tenga la parte implementation, controla esas cosas antes que obtener una excepción en el programa.

Yendo con pies de plomo... puedes tardar 30 minutos en hacer ese programita, ejecutarlo es cosa de niños

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Última edición por Lepe fecha: 03-12-2008 a las 14:00:29.
Responder Con Cita
  #6  
Antiguo 09-12-2015
Avatar de Soa Pelaez
Soa Pelaez Soa Pelaez is offline
Miembro
 
Registrado: nov 2015
Posts: 133
Poder: 9
Soa Pelaez Va por buen camino
Cita:
Empezado por Lepe Ver Mensaje
escribe los defines en un archivo .inc (un archivo de texto estandar para este tipo de cosas), llámalo "Tupaquete.inc"

En cada módulo que lo uses inclúyelo:
Código Delphi [-]

{$I Tupaquete.inc}

implementation

Saludos
Me gustaria que me explicarás esa parte, lo requiero urgente.
Responder Con Cita
  #7  
Antiguo 10-12-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Soa Pelaez Ver Mensaje
Me gustaria que me explicarás esa parte, lo requiero urgente.
A tus órdenes, dejamos todo lo que estamos haciendo y te contestamos.
Responder Con Cita
  #8  
Antiguo 10-12-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Soa Pelaez Ver Mensaje
Podrías colaborarme intente algo así pero no logro que funcione.
Crea un hilo nuevo con tu duda. Aquí solamente debes responder si vas a aportar algo a la solución de este hilo.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Como traducir #define DEFAULT(x)= x davidj Varios 2 15-08-2008 20:53:03
$ifdef define1 OR define2 hay alguna forma de hacer un OR ? fcios Varios 3 01-06-2008 02:42:16
Realizar una consulta sobre los registros que devuelve otra consulta Borjaserrano Firebird e Interbase 12 02-10-2007 00:19:44
{$ifdef} pab4146 API de Windows 2 17-02-2005 19:08:08


La franja horaria es GMT +2. Ahora son las 03:16:04.


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