Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > Lazarus, FreePascal, Kylix, etc.
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-11-2012
aviatorz aviatorz is offline
Registrado
NULL
 
Registrado: sep 2011
Posts: 7
Poder: 0
aviatorz Va por buen camino
Como compartir metodos entre formularios y tambien la conexion a postgres??

En Lazarus 1.0.2, estoy intentando hacer una clase que solo contenga métodos y en esos métodos se realice cualquier operación y desde los formularios llamar a esos métodos.

El problema es el siguiente cuando quiero por ejemplo inicializar la conexión de postgres.
Código:
...
class var
      {Variables de clases}
      SQLquery:TSQLQuery;
      Datasource:TDataSource;
      Transaccion:TSQLTransaction;
      PQConexion:TPQConnection;  
...
class procedure StaticData.Inicializa_conexion(usuario,contrasena,host,db:string);
begin
     PQConexion.hostname:=host;
     PQConexion.databaseName:=db;
     PQConexion.username:=usuario;
     PQConexion.password:=contrasena;

     PQConexion.transaction:= Transaccion;
     Transaccion.DataBase:=PQConexion;
     SQLQuery.Transaction:=Transaccion;
     Datasource.DataSet:=SQLQuery;

     try
        PQConexion.connected:=true;
        Application.MessageBox(PChar('Conexion realizada con exito'),PChar('Conexion'),MB_ICONINFORMATION);
     except
       on e:exception do
       begin
         Application.MessageBox(PChar('Ha ocurrido el siguiente Error: '+e.Message),PChar('Error'),MB_ICONINFORMATION);
         PQConexion.connected:=false;
       end;
     end;
end;
me aparece un error que según entiendo tiene que ver algo con la instanciacion del objeto PQConexion, el error dice:
Cita:
El proyecto x ha lanzado una excepcion de la clase 'External:SIGSEGV'. en direccion 403AD0
Corrí el proyecto paso a paso y el error se da cuando intenta hacer la primera asignación al PQConexion
Código:
PQConexion.hostname:=host;
Por eso supongo que tiene que ver algo con instanciar el PQConexion, que opinan?
Responder Con Cita
  #2  
Antiguo 28-11-2012
aviatorz aviatorz is offline
Registrado
NULL
 
Registrado: sep 2011
Posts: 7
Poder: 0
aviatorz Va por buen camino
Solucion al error!!

Al final la solución no estaba tan difícil, solo habia que instanciar los objetos de la siguiente manera
Código:
PQConexion:=TPQConnection.Create(nil);
Transaccion:=TSQLTransaction.Create(nil);
SQLQuery:=TSQLQuery.Create(nil);
Datasource:=TDataSource.Create(nil);
Tambien funciona de esta manera
Código:
PQConexion:=TPQConnection.Create(Application);
Transaccion:=TSQLTransaction.Create(Application);
SQLQuery:=TSQLQuery.Create(Application);
Datasource:=TDataSource.Create(Application);
Responder Con Cita
  #3  
Antiguo 29-11-2012
Avatar de rretamar
[rretamar] rretamar is offline
Miembro Premium
 
Registrado: ago 2006
Ubicación: San Francisco, Córdoba, Argentina
Posts: 1.168
Poder: 20
rretamar Va camino a la famarretamar Va camino a la fama
Se agradece el aporte.
__________________
Lazarus Codetyphon : Desarrollo de aplicaciones Object Pascal, libre y multiplataforma.
Responder Con Cita
Respuesta



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 conectar datos entre formularios Andres202010 Varios 3 07-08-2012 09:38:16
Cómo cerrar conexión? Delphi, Zeos y Postgres mangels PostgreSQL 4 16-11-2007 16:00:59
Compartir conexion entre dos PC chico_bds Internet 3 02-07-2007 06:21:27
Como realizar la conexion con Postgres SQL alastor PHP 2 14-08-2006 21:07:18
Conexión entre formularios mcalmanovici Varios 3 23-06-2006 15:48:06


La franja horaria es GMT +2. Ahora son las 03:15:12.


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