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?