Fórum Dúvida e Erro no Código #406052
04/08/2011
0
MSG de erro:
O erro está na linha em destaque Azul, mais abaixo segue o código:
unit uBDAcesso; interface uses DB, ADODB, uConectaBD; type TBDAceso = class(TObject) qryAcesso: TADOQuery; ConectaBD: TConectaBD; private constructor Create; public function Acesso(Login, Senha: String): Boolean; end; implementation constructor TBDAceso.Create; begin inherited; ConectaBD := TConectaBD.Create; qryAcesso := TADOQuery.Create(nil); //É onde está dando o erro qryAcesso.ConnectionString := ConectaBD.ConectaBanco; end; function TBDAceso.Acesso(Login, Senha: String): Boolean; var sSQL: String; begin Result := False; sSQL := 'select * from usuarios where login = :login'; end; initialization TBDAceso.Create; finalization end.
Luiz Junior
Curtir tópico
+ 0Posts
04/08/2011
Emerson Nascimento
algo assim:
constructor TBDAceso.Create;
begin
inherited;
CoInitialize(nil); // inicializa a biblioteca COM
ConectaBD := TConectaBD.Create;
qryAcesso := TADOQuery.Create(nil); //É onde está dando o erro
qryAcesso.ConnectionString := ConectaBD.ConectaBanco;
CoUnInitialize; // finaliza a biblioteca COM
end;
mas será preciso saber como esse objeto será usado, pois talvez a finalização do COM não deva ser feita ali no método Create.
Gostei + 0
05/08/2011
Luiz Junior
Tenho outra dúvida: Gostaria de destruir o que criei, aí estou tentando da seguinte forma, mas em finalization quando tento colocar TBDAcesso.
type TBDAceso = class(TObject) qryAcesso: TADOQuery; ConectaBD: TConectaBD; private constructor Create; destructor Destroi; public function Acesso(Login, Senha: String): Boolean; end; implementation constructor TBDAceso.Create; begin inherited; ConectaBD := TConectaBD.Create; qryAcesso := TADOQuery.Create(nil); qryAcesso.ConnectionString := ConectaBD.ConectaBanco; end; destructor TDBAcesso.Destroi; begin ConectaBD.Destroy; qryAcesso.Destroy; inherited; end; initialization TBDAceso.Create; finalization TBDAceso.Destroi; //Não consigo colocar o Destroi para destruiu o que foi criado. end.
Gostei + 0
05/08/2011
Luiz Junior
Obrigado!
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)