[Lazarus-es] Creación dinámica de Forms

Jose Antonio Cuello josea en artextrading.com
Vie Sep 25 14:09:33 CEST 2009


Tu código da error de access violation en el mismo lugar que me ocurre a 
mí (cuando compilo para WindowsCE), en la unit LResources linea 3005
[...]
    {$ifdef UseRES}
    if Stream = nil then
    begin
      FPResource := FindResource(HInstance, TResourceType(ResName), 
RT_RCDATA);                                    ------> ESTA ES LA LINEA 
QUE DA ERROR
      if FPResource <> 0 then
        Stream := TLazarusResourceStream.CreateFromHandle(HInstance, 
FPResource);                                               
    end;
    {$endif}
[...]

Lo mismo tiene que ver la directiva de compilación "UseRES" ???
Un saludo.

> ------------------------------
>
> Message: 4
> Date: Fri, 25 Sep 2009 10:17:55 +0200
> From: JoshyFun <joshyfun en gmail.com>
> Subject: Re: [Lazarus-es] Creación dinámica de Forms
> To: Spanish version of Lazarus List
> 	<lazarus-es en lists.lazarus.freepascal.org>
> Message-ID: <181151008.20090925101755 en gmail.com>
> Content-Type: text/plain; charset=ISO-8859-1
>
> Hello Jose,
>
> Friday, September 25, 2009, 8:41:25 AM, you wrote:
>
> JAC> Gracias por contestar. Ya he probado eso, tanto con 
> JAC> application.CreateForm como por el procedimiento NewForm() pero el
>
> Vaya, jeje, la prueba ha sido más rápida de lo que pensaba  :)  Este
> código funciona:
>
> -------------------------------------------
> [prueba.lpr]-------------------------------
> -------------------------------------------
> program prueba;
>
> {$mode objfpc}{$H+}
>
> uses
>   {$IFDEF UNIX}{$IFDEF UseCThreads}
>   cthreads,
>   {$ENDIF}{$ENDIF}
>   Interfaces, // this includes the LCL widgetset
>   Forms, StdCtrls
>   { you can add units after this };
>
> type
>
> { TMyForm }
>
> TMyForm=class(TForm)
> private
>   procedure UnBotonClick(Sender: TObject);
> end;
>
> { TMyForm }
>
> procedure TMyForm.UnBotonClick(Sender: TObject);
> begin
>   Self.Close;
> end;
>
> var
>   FMain: TMyForm;
>   UnBoton: TButton;
>
> begin
>   Application.Initialize;
>   Application.CreateForm(TMyForm, Fmain);
>   UnBoton:=TButton.Create(Application);
>   UnBoton.Caption:='Click cierra';
>   FMain.InsertControl(UnBoton);
>   UnBoton.OnClick:=@FMain.UnBotonClick;
>   Application.Run;
> end.
> -------------------------------------------
>
> -- Best regards, JoshyFun







More information about the Lazarus-es mailing list