Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus-es / 2010-02

crear botón dinámicamente

8 messages · 4 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Paola Bruccoleri

Hola a todos..

tengo que crear unos botones din�micamente.. lo hago a trav�s de un procedim que tiene esto: (sfondo es el nombre de la imagen)

  if sFondo  '' then
    with TImage.Create(self) do
      begin
        Name   := Copy(sNombre,1,Length(sNombre)-3)+'IMG';
        Left   := nLeft;
        Top    := nTop;
        Width  := nWidth+2;
        Height := nHeight+2;
        Picture.LoadFromFile( sFondo );
        Parent := Menu_FRM;
        Transparent := true;
      end;

ahora... cuando llega al Picture.LoadFromFile( sFondo ); hace crash: "unable to open file fondo.bmp"
sFondo tiene el valor: "fondo.bmp"
aclaro que el archivo se encuentra en la carpeta del proyecto, y hasta ayer no hab�a problemas :) y ni cambi� el archivo de lugar ni cambi� ning�n c�digo relacionado..

si le paso la ruta completa: d:\lz\sist\fondo.bmp no salta el error, pero es lo que quiero evitar...
En delphi funcionaba como estaba sin problemas..

pueden orientarme?
chauuuuuuuuuuuuu

Reply by email

Paola Bruccoleri

Paola Bruccoleri escribi�:

Show quoted text 5 lines
Hola a todos.. tengo que crear unos botones din�micamente.. lo hago a trav�s de un procedim que tiene esto: (sfondo es el nombre de la imagen)

bueno... ya descubr� donde est� el problema....

y tiene que ver con las rutas del compilador...
Por defecto, en las opciones del proyecto / opciones del compilador / rutas est�n estas opciones:

- Fi: $(ProjOutDir)\
- FU: lib\$(TargetCPU)-$(TargetOS)

en el proyecto de delphi, no lo ten�a, por tanto, todos los .o y .ppu me quedaban en la carpeta del proyecto, quedando muy desprolijo.. Ayer a �ltima hora me fij� en eso y puse esas opciones, tal como aparece en todos los proyectos de lazarus por defecto...
y fu� eso el problema..

Hay alguna otra opci�n? o lo que me queda hacer, para no tener los .ppu y o junto a las units y forms, es obtener desde el programa la ruta donde est� el sistema y pasarla a las im�genes? Adem�s, otra cosa que tengo que hacer es sacar las im�genes de la carpeta del proyecto y colocarlas en una subcarpeta.. tendr�a que tb averiguar por el sistema operativo, por el tema del formato de las rutas....creo que hay alguna constante por ah�.. tendr� que ver..

chauuuuuuuuuu

------------ pr�xima parte ------------
An embedded and charset-unspecified text was scrubbed... Name: Parte del mensaje adjunto
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20100214/822b3243/attachment.ksh>

Reply by email

Carlos German Tejero
to Paola Bruccoleri

Si el error te lo da en tiempo de ejecucion, no creo que tenga nada que ver con el compilador. Seguramente esta relacionado al directorio de trabajo actual. Recuerda que cuando intentas leer un archivo a traves de un path relativo (fondo.jpg), este es relativo al directorio actual de trabajo. Si el archivo que intentas leer esta en el directorio del ejecutable puedes hacer:

  ExtractFileDir(Application.ExeName) + 'fondo.jpg';

Saludos.

2010/2/14 Paola Bruccoleri <pbruccoleri en adinet.com.uy>

Show quoted text 48 lines
Paola Bruccoleri escribi�: Hola a todos.. > > tengo que crear unos botones din�micamente.. lo hago a trav�s de un > procedim que tiene esto: (sfondo es el nombre de la imagen) > > bueno... ya descubr� donde est� el problema.... y tiene que ver con las rutas del compilador... Por defecto, en las opciones del proyecto / opciones del compilador / rutas est�n estas opciones: - Fi: $(ProjOutDir)\ - FU: lib\$(TargetCPU)-$(TargetOS) en el proyecto de delphi, no lo ten�a, por tanto, todos los .o y .ppu me quedaban en la carpeta del proyecto, quedando muy desprolijo.. Ayer a �ltima hora me fij� en eso y puse esas opciones, tal como aparece en todos los proyectos de lazarus por defecto... y fu� eso el problema.. Hay alguna otra opci�n? o lo que me queda hacer, para no tener los .ppu y o junto a las units y forms, es obtener desde el programa la ruta donde est� el sistema y pasarla a las im�genes? Adem�s, otra cosa que tengo que hacer es sacar las im�genes de la carpeta del proyecto y colocarlas en una subcarpeta.. tendr�a que tb averiguar por el sistema operativo, por el tema del formato de las rutas....creo que hay alguna constante por ah�.. tendr� que ver.. chauuuuuuuuuu Se certific� que el correo entrante no contiene virus. Comprobada por AVG - www.avg.es Versi�n: 9.0.733 / Base de datos de virus: 271.1.1/2687 - Fecha de la versi�n: 02/14/10 05:35:00 _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
Carlos Germ�n Tejero ------------ pr�xima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20100214/7ab3af2e/attachment.html>

Reply by email

Manuel Gutierrez
to Paola Bruccoleri: Paola Bruccoleri escribi�: bueno... ya descubr� donde est� el problema.... y tiene…

Hola Paola,

Yo lo que hago es meter las im�genes o los datos, etc en una carpeta dentro del proyecto llamada im�genes, queda m�s elegante despu�s a la hora de implntar tener el ejecutable en un sitio y los daos en subcarpetas. Como no sabes la ruta absoluta definitiva puedes acceder a extractfilepath(application.exename)+'im�genes' y ah� tienes las im�genes

Earlier message 37 lines
-----Mensaje original----- De: Paola Bruccoleri [mailto:pbruccoleri en adinet.com.uy] Enviado el: domingo, 14 de febrero de 2010 18:51 Para: Lista Lazarus Asunto: Re: [Lazarus-es] crear bot�n din�micamente Paola Bruccoleri escribi�: > Hola a todos.. > > tengo que crear unos botones din�micamente.. lo hago a trav�s de un > procedim que tiene esto: (sfondo es el nombre de la imagen) > bueno... ya descubr� donde est� el problema.... y tiene que ver con las rutas del compilador... Por defecto, en las opciones del proyecto / opciones del compilador / rutas est�n estas opciones: - Fi: $(ProjOutDir)\ - FU: lib\$(TargetCPU)-$(TargetOS) en el proyecto de delphi, no lo ten�a, por tanto, todos los .o y .ppu me quedaban en la carpeta del proyecto, quedando muy desprolijo.. Ayer a �ltima hora me fij� en eso y puse esas opciones, tal como aparece en todos los proyectos de lazarus por defecto... y fu� eso el problema.. Hay alguna otra opci�n? o lo que me queda hacer, para no tener los .ppu y o junto a las units y forms, es obtener desde el programa la ruta donde est� el sistema y pasarla a las im�genes? Adem�s, otra cosa que tengo que hacer es sacar las im�genes de la carpeta del proyecto y colocarlas en una subcarpeta.. tendr�a que tb averiguar por el sistema operativo, por el tema del formato de las rutas....creo que hay alguna constante por ah�.. tendr� que ver.. chauuuuuuuuuu

Reply by email

Paola Bruccoleri
to Carlos German Tejero: Si el error te lo da en tiempo de ejecucion, no creo que tenga nada que ver con el…

Carlos German Tejero escribi�:

Show quoted text 8 lines
Si el error te lo da en tiempo de ejecucion, no creo que tenga nada que ver con el compilador. Seguramente esta relacionado al directorio de trabajo actual. Recuerda que cuando intentas leer un archivo a traves de un path relativo (fondo.jpg), este es relativo al directorio actual de trabajo. Si el archivo que intentas leer esta en el directorio del ejecutable puedes hacer: ExtractFileDir(Application.ExeName) + 'fondo.jpg';

Hola Germ�n y Manuel..
muchas gracias por la info. S�, el error me da en tiempo de ejecuci�n, pero te aseguro que si tiene que ver con esas directivas del compilador, no me preguntes porqu�!! lo prob� ya con ellas y sin ellas... La imagen se encuentra en la misma carpeta del proyecto (que luego sacar� de all�). Voy a usar la funci�n que me indican, supongo que ser� "multiplataforma" y me dar� las \ o / como corresponda..
chauuuuuuuuuuuu

Reply by email

JoshyFun
to Paola Bruccoleri: Paola Bruccoleri escribi�: bueno... ya descubr� donde est� el problema.... y tiene…

Hello Paola,

Sunday, February 14, 2010, 6:50:49 PM, you wrote:

PB> y tiene que ver con las rutas del compilador... PB> Por defecto, en las opciones del proyecto / opciones del compilador / PB> rutas est�n estas opciones:
PB> - Fi: $(ProjOutDir)\
PB> - FU: lib\$(TargetCPU)-$(TargetOS)
[...]
PB> Hay alguna otra opci�n? o lo que me queda hacer, para no tener los .ppu PB> y o junto a las units y forms, es obtener desde el programa la ruta PB> donde est� el sistema y pasarla a las im�genes? PB> Adem�s, otra cosa que tengo que hacer es sacar las im�genes de la PB> carpeta del proyecto y colocarlas en una subcarpeta.. tendr�a que tb PB> averiguar por el sistema operativo, por el tema del formato de las PB> rutas....creo que hay alguna constante por ah�.. tendr� que ver..

Yo lo que hago es que en la raiz del proyecto tengo los fuentes, en la subcarpeta "intermediate" meto los .ppu y los .o y en la subcarpeta Output meto el ejecutable y todos los ficheros que se necesitan en runtime, de modo que para entregar una aplicaci�n b�sicamente lo que hago es:

C:\proyecto\output\>zip -r MiProyecto *

:)

Best regards, JoshyFun

Reply by email

JoshyFun
to Paola Bruccoleri: Carlos German Tejero escribi�: Hola Germ�n y Manuel.. muchas gracias por la info.…

Hello Paola,

Sunday, February 14, 2010, 10:28:21 PM, you wrote:

PB> Carlos German Tejero escribi�:

Show quoted text 7 lines
> Si el error te lo da en tiempo de ejecucion, no creo que tenga nada > que ver con el compilador. Seguramente esta relacionado al directorio > de trabajo actual. Recuerda que cuando intentas leer un archivo a > traves de un path relativo (fondo.jpg), este es relativo al directorio > actual de trabajo. Si el archivo que intentas leer esta en el > directorio del ejecutable puedes hacer: > ExtractFileDir(Application.ExeName) + 'fondo.jpg';

PB> Hola Germ�n y Manuel..
PB> muchas gracias por la info. S�, el error me da en tiempo de ejecuci�n, PB> pero te aseguro que si tiene que ver con esas directivas del compilador, PB> no me preguntes porqu�!! lo prob� ya con ellas y sin ellas... La imagen PB> se encuentra en la misma carpeta del proyecto (que luego sacar� de all�). PB> Voy a usar la funci�n que me indican, supongo que ser� "multiplataforma" PB> y me dar� las \ o / como corresponda..
PB> chauuuuuuuuuuuu

Lo que pasa es que ahora el EXE te lo debe de estar generando en otro sitio ;)

Best regards, JoshyFun

Reply by email

Paola Bruccoleri
to JoshyFun: PB> y tiene que ver con las rutas del compilador... PB> Por defecto, en las opciones del…

JoshyFun escribi�:

Show quoted text 11 lines
Hello Paola, Yo lo que hago es que en la raiz del proyecto tengo los fuentes, en la subcarpeta "intermediate" meto los .ppu y los .o y en la subcarpeta Output meto el ejecutable y todos los ficheros que se necesitan en runtime, de modo que para entregar una aplicaci�n b�sicamente lo que hago es: C:\proyecto\output\>zip -r MiProyecto *

muy buena idea..!! muy prolijo, te voy a copiar :) muchas gracias
chauuuuuuuuu

Reply by email