[Lazarus-es] Generar exe compilado en su propio directorio

francisco prieto fajprieto en gmail.com
Mar Jul 26 23:39:11 CEST 2016


Les dejo un comentario al respecto que me paso el dia de hoy, luego de
implementar la solución  antes mencionada.

Cuando hago referencia a rutas de archivo antes hacía lo siguiente:

  lcDirRep:=AppendPathDelim(ExtractFilePath(ParamStr(0)))+'rep\';

La primer parte extrae la ubicación de mi archivo exe y a eso le agrego el
directorio donde están en este caso mis reportes.

Como por default el exe se genera en el directorio raíz del proyecto. Las
carpetas a las cuales hago referencia están ubicadas siempre en la raíz,
tanto en modo depuración como en modo ejecución. Pero con el cambio
implementado esta mañana el exe ya no esta mas en el directorio raíz del
proyecto y por ende la ubicación de las carpetas es errónea. Para que esto
no ocurra tuve que implementar una ruta raíz de depuración.

En mi caso tengo una unidad global y ahí definí una constante con la ruta
mencionada, entonces para no tener inconvenientes en modo depuración tuve
que hacer lo siguiente:

  lcDirRep:=AppendPathDelim(ExtractFilePath(ParamStr(0)))+'rep\';
  IF LEFTSTR(lcDirRep,length(globales.gcPathDebug))=globales.gcPathDebug
then
    lcDirRep:=globales.gcPathDebug+'\Instalacion\Distribuir\rep\';

Quizás, haya una forma mas sencilla de hacerlo. Intente poner una ruta en
Adiciones a la ruta del depurador, pero no me funciono.

Por el momento esta solución funciona, pero quizás ustedes tengan una
solución mejor.

Saludos,

Pancho
Córdoba
Argentina


El mar., 26 jul. 2016 a las 8:19, francisco prieto (<fajprieto en gmail.com>)
escribió:

> Chicos (cariñosamente hablando :) ),
>
> Lo que puedo ver es que la ayuda esta bastante desactualizada, es decir
> las pantallas que muestra no se corresponde con la versión 1.6, pero creo
> que una combinación de ambas ideas puede ser muy útil en este caso...
> Es decir si solo se trata de hacer ejecutables en Windows, debería
> alcanzar con la idea de Rafael, pero si debo hacer ejecutables para Linux
> para cada arquitectura, me parece mas prolijo implementar por cada SO la
> idea de Jesús.
> Ya me arme un modo de construcción Windows con el nombre de ejecutable
> $(TargetOS)/nombre.exe
> Y la solución de ambos funciono, en la ventana de mensajes al compilar se
> puede leer claramente:
> Compilar proyecto, Modo: Windows, OS: win32, CPU: i386, Objetivo:
> win32\10900.exe: Éxito, Sugerencias: 2
> o bien
> Compilar proyecto, Modo: Windows, Objetivo: win64\10900.exe: Éxito
>
> Es extraño que en este ultimo modo no me muestre las sugerencias siendo el
> mismo código... pero bueno esa es harina de otro costal.
>
> Muchísimas gracias,
>
> Pancho
> Córdoba
> Argentina
>
>
>
> El lun., 25 jul. 2016 a las 23:11, Jesus Reyes A. (<jesusrmx en gmail.com>)
> escribió:
>
>> Efectivamente esta es una solución mucho mas rápida y también debería
>> funcionar. Si acaso, la solución que usa modos de construcción permite
>> seleccionar los nombres del ejecutable de manera mas flexible.
>>
>> Lo bueno es que hay opciones :)
>>
>> Jesus Reyes A.
>>
>>
>> En Mon, 25 Jul 2016 20:56:12 -0500, Rafael Bidegain <r.bidegain en gmail.com>
>> escribió:
>>
>> Hola Francisco.
>>
>> Perdón por responder con una pregunta.
>>
>> probaste poniendo en rutas y $(TargetOS)/nombre.exe ?
>>
>> _______________________________________________
>> Lazarus-es mailing list
>> Lazarus-es en lists.lazarus-ide.org
>> http://lists.lazarus-ide.org/listinfo/lazarus-es
>>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20160726/627e6c16/attachment.html>


More information about the Lazarus-es mailing list