Sign in Join

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

Mailing lists / lazarus-es / 2009-09

Sqlite DLL para Windows CE

10 messages · 3 people · –

Reply by email Subscribe to this list Your subscription

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

Jose Antonio Cuello

Hola, no consigo encontrar la librer�a para Windows CE de conexi�n con bases de datos Sqlite3. �Alguien me la puede pasar o indicar de donde descargarla?

Si no se puede, alguien sabe indicarme como compilar los fuentes para obtener la dll.
Gracias, y un saludo.

Reply by email

Jose Antonio Cuello

Hola, �se pueden crear todos los formularios (incluido el "main") de una aplicaci�n de manera din�mica?. Lo pregunto porque al intentarlo, al crear el primer formulario siempre me da error de access violation. He estado urgando un poquito y veo que me da el error al tratar de cargar los resources del Formulario, resources que no tengo/uso pues es un formulario creado en ejecuci�n.

unit: LResources
function: InitLazResourceComponent
Line: 3005
command: FPResource := FindResource(HInstance, TResourceType(ResName), RT_RCDATA);

He probado distintas maneras de crear el formulario Main, pero siempre me da error en esa linea. Sab�is si es necesario no usar class y usar Objects al estilo:

Type
  PMiForm: ^TMiForm;
  TMiForm = TObject(TForm);

Bueno, espero haberme explicado correctamente. Gracias y un saludo.

Reply by email

JoshyFun
to Jose Antonio Cuello: Hola, �se pueden crear todos los formularios (incluido el "main") de una aplicaci�n…

Hello Jose,

Wednesday, September 23, 2009, 3:37:41 PM, you wrote:

JAC> Hola, �se pueden crear todos los formularios (incluido el "main") de una JAC> aplicaci�n de manera din�mica?. Lo pregunto porque al intentarlo, al [...]
JAC> Type
JAC> PMiForm: ^TMiForm;
JAC> TMiForm = TObject(TForm);
JAC> Bueno, espero haberme explicado correctamente. Gracias y un saludo.

A ver, nunca he hecho nada de eso, pero se puede hacer, ya que es justo lo que hace Lazarus en el .lpr. Vamos que tienes que hacerlo del mismo modo que el c�digo del .lpr, por ejemplo:

------------------------------------------
program chk;
{$mode objfpc}{$H+}

uses

  {$IFDEF UNIX}{$IFDEF UseCThreads}
  cthreads,
  {$ENDIF}{$ENDIF}
  Interfaces, // this includes the LCL widgetset
  Forms, LResources,
  ufrmMain, ufrmMain2;
begin
  {$I chkrecover.lrs} //Incluye los recursos de tu programa, entre
                      //ellos el dise�o de los forms
  Application.Title:='Mi Programa';
  Application.Initialize;
  //Aqu� puedes llamar a funciones ya, aunque cuidado ya que
  //no hay ning�n form creado.
  if LoQueQuierasProbar then begin
    Application.CreateForm(TfrmMain, frmMain);
  end else begin
    Application.CreateForm(TfrmMain2, frmMain2);
  end;
  Application.Run; //Esto es necesario para crear la
                   //cola de eventos y el proceso de los mismos
end.
-------------------------------------
Best regards, JoshyFun

Reply by email

Jose Antonio Cuello

Ya he estado por esa direcci�n ... pero s�lo he conseguido la dll para Windows no para Windows CE. Para Windows CE s�lo est�n los fuentes, I think so :(
Si te referias a descargar la dll no he llegado a ver de donde. Si te refer�as a instrucciones para compilar el fuente pues bajo Windows no ando muy puesto en esto de compilar fuentes de C, pero revisar� la documentaci�n de la p�gina por si existen instrucciones sencillas de entender.
Gracias.

Show quoted text 31 lines
Message: 3 Date: Wed, 23 Sep 2009 15:00:54 +0000 (GMT) From: Iv�n Mesa <imo_mas en yahoo.es> Subject: Re: [Lazarus-es] Sqlite DLL para Windows CE To: Spanish version of Lazarus List <lazarus-es en lists.lazarus.freepascal.org> Message-ID: <50947.36700.qm en web25605.mail.ukl.yahoo.com> Content-Type: text/plain; charset="iso-8859-1" Busca aqu�: http://sqlite-wince.sourceforge.net/ ________________________________ De: Jose Antonio Cuello <josea en artextrading.com> Para: lazarus-es en lists.lazarus.freepascal.org Enviado: mi�rcoles, 23 de septiembre, 2009 14:09:06 Asunto: [Lazarus-es] Sqlite DLL para Windows CE Hola, no consigo encontrar la librer�a para Windows CE de conexi�n con bases de datos Sqlite3. �Alguien me la puede pasar o indicar de donde descargarla? Si no se puede, alguien sabe indicarme como compilar los fuentes para obtener la dll. Gracias, y un saludo. _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es

Reply by email

Jose Antonio Cuello

Gracias por contestar. Ya he probado eso, tanto con application.CreateForm como por el procedimiento NewForm() pero el problema es que los fuentes de Lazarus me dan un error de access violation al no existir el archivo de recursos, es decir cuando intenta cargarlo (*.lrs), archivo que no tengo pues quiero crear el formulario dinamicamente, sin existir un formulario visual.

A mi me suena haberlo hecho con Delphi, pero lo que no recuerdo era si el form Main de la aplicaci�n siempre tiene que existir como recurso visual, es decir con su pas y su lfm, y luego el resto de forms los creaba din�micamente o si tambi�n creaba din�micamente el Main. Mirar� por los backups a ver si encuentro ese trabajo para confirmar esto. Un saludo.

Show quoted text 56 lines
Message: 4 Date: Wed, 23 Sep 2009 23:44:50 +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: <44183816.20090923234450 en gmail.com> Content-Type: text/plain; charset=ISO-8859-1 Hello Jose, Wednesday, September 23, 2009, 3:37:41 PM, you wrote: JAC> Hola, �se pueden crear todos los formularios (incluido el "main") de una JAC> aplicaci�n de manera din�mica?. Lo pregunto porque al intentarlo, al [...] JAC> Type JAC> PMiForm: ^TMiForm; JAC> TMiForm = TObject(TForm); JAC> Bueno, espero haberme explicado correctamente. Gracias y un saludo. A ver, nunca he hecho nada de eso, pero se puede hacer, ya que es justo lo que hace Lazarus en el .lpr. Vamos que tienes que hacerlo del mismo modo que el c�digo del .lpr, por ejemplo: ------------------------------------------ program chk; {$mode objfpc}{$H+} uses {$IFDEF UNIX}{$IFDEF UseCThreads} cthreads, {$ENDIF}{$ENDIF} Interfaces, // this includes the LCL widgetset Forms, LResources, ufrmMain, ufrmMain2; begin {$I chkrecover.lrs} //Incluye los recursos de tu programa, entre //ellos el dise�o de los forms Application.Title:='Mi Programa'; Application.Initialize; //Aqu� puedes llamar a funciones ya, aunque cuidado ya que //no hay ning�n form creado. if LoQueQuierasProbar then begin Application.CreateForm(TfrmMain, frmMain); end else begin Application.CreateForm(TfrmMain2, frmMain2); end; Application.Run; //Esto es necesario para crear la //cola de eventos y el proceso de los mismos end. -------------------------------------

Reply by email

JoshyFun
to Jose Antonio Cuello

Hello Jose,

Friday, September 25, 2009, 8:41:25 AM, you wrote:

JAC> A mi me suena haberlo hecho con Delphi, pero lo que no recuerdo era si JAC> el form Main de la aplicaci�n siempre tiene que existir como recurso JAC> visual, es decir con su pas y su lfm, y luego el resto de forms los JAC> creaba din�micamente o si tambi�n creaba din�micamente el Main. Mirar� JAC> por los backups a ver si encuentro ese trabajo para confirmar esto. JAC> Un saludo.

Lo que si se me ocurre que pueda ser necesario es que tengas un form definido en los recursos, aunque no lo uses. Si es as� entiendo que es un bug de Lazarus. Si puedo har� una prueba...

Best regards, JoshyFun

Reply by email

JoshyFun
to Jose Antonio Cuello: Gracias por contestar. Ya he probado eso, tanto con application.CreateForm como por el…

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);
  ;
  Application.Run;
end.
-------------------------------------------
Best regards, JoshyFun

Reply by email

Jose Antonio Cuello
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.

Show quoted text 68 lines
------------------------------ 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); ; Application.Run; end. ------------------------------------------- -- Best regards, JoshyFun

Reply by email

JoshyFun
to Jose Antonio Cuello

Hello Jose,

Friday, September 25, 2009, 2:09:33 PM, you wrote:

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

JAC> Lo mismo tiene que ver la directiva de compilaci�n "UseRES" ???

Pon un backtrace para ver la secuencia del problema...

http://wiki.lazarus.freepascal.org/Creating_a_Backtrace_with_GDB

Best regards, JoshyFun

Reply by email