Fórum Firebird 1.5 Embed... Memory Fault #45012
20/06/2004
0
Amigos,
Alguém que utiliza o Firebird 1.5 Embed, poderia reportar-me se ocorre algum erro ´feio´ de Memory Fault que termina por fechar a aplicação?
Este erro é intermitente está ocorrendo de forma provocada -> conecto e desconecto do banco várias vezes e quando ocorre, normalmente, é na 3ª desconexão...
Logicamente, não há nenhuma necessidade de ficar conectando e desconectando do banco várias vezes, foi apenas um teste que fiz e me deparei com isso... é uma aplicação desktop muito simples, com apenas 3 tabelas que, normalmente, eu utilizaria um banco Access, mas decidi por testar o FB Embed...
Creio haver alguma relação com o fato de que na verdade ele cria uma instância de servidor a cada conexão e acho q esta instância não está sendo liberada após a desconexão...
Gostaria de saber se algum dos colegas tem certeza de que o problema seja minha esta minha, até agora, suposição...
Estou usando Firebird 1.5 Embed ( Final Release 4290), com dbExpress + driver da borland (dbexpint.dll) e Delphi 7... na raiz da aplicação estão o o firebird.conf (default), o firebird.msg e a fbembed.dll ; e na subpasta data\ está o banco...
Agradeço desde já.
[]´s
Vinicius.
Alguém que utiliza o Firebird 1.5 Embed, poderia reportar-me se ocorre algum erro ´feio´ de Memory Fault que termina por fechar a aplicação?
Este erro é intermitente está ocorrendo de forma provocada -> conecto e desconecto do banco várias vezes e quando ocorre, normalmente, é na 3ª desconexão...
Logicamente, não há nenhuma necessidade de ficar conectando e desconectando do banco várias vezes, foi apenas um teste que fiz e me deparei com isso... é uma aplicação desktop muito simples, com apenas 3 tabelas que, normalmente, eu utilizaria um banco Access, mas decidi por testar o FB Embed...
Creio haver alguma relação com o fato de que na verdade ele cria uma instância de servidor a cada conexão e acho q esta instância não está sendo liberada após a desconexão...
Gostaria de saber se algum dos colegas tem certeza de que o problema seja minha esta minha, até agora, suposição...
Estou usando Firebird 1.5 Embed ( Final Release 4290), com dbExpress + driver da borland (dbexpint.dll) e Delphi 7... na raiz da aplicação estão o o firebird.conf (default), o firebird.msg e a fbembed.dll ; e na subpasta data\ está o banco...
Agradeço desde já.
[]´s
Vinicius.
Vinicius2k
Curtir tópico
+ 0
Responder
Posts
21/06/2004
Vinicius2k
Amigos,
Descobri duas coisas :
1 - este erro só ocorre sobre plataforma NT (2K/XP)... 9X/ME funciona perfeitamente...
2 - se vc carregar a fbembed.dll no Create do DataModule e descarregar no Destroy o erro não ocorre... ou seja forçando a dll a ficar carregada o tempo todo, de forma independente da SQLConnection o problema é contornado...
Cheguei a testar, inclusive outros drivers DBX (UIB e Upscene) e com ambos o erro ocorreu...
A solução foi :
Bem, creio que posso fazer esta pequena aplicação desktop usando o FB Embed...
T+
Descobri duas coisas :
1 - este erro só ocorre sobre plataforma NT (2K/XP)... 9X/ME funciona perfeitamente...
2 - se vc carregar a fbembed.dll no Create do DataModule e descarregar no Destroy o erro não ocorre... ou seja forçando a dll a ficar carregada o tempo todo, de forma independente da SQLConnection o problema é contornado...
Cheguei a testar, inclusive outros drivers DBX (UIB e Upscene) e com ambos o erro ocorreu...
A solução foi :
...
var
dmd: Tdmd;
hFBEMBED: THandle;
implementation
{$R *.dfm}
uses Windows;
procedure Tdmd.DataModuleCreate(Sender: TObject);
begin
hFBEMBED:= LoadLibrary(´fbembed.dll´);
end;
procedure Tdmd.DataModuleDestroy(Sender: TObject);
begin
if hFBEMBED <> INVALID_HANDLE_VALUE
then FreeLibrary(hFBEMBED);
end;
...Bem, creio que posso fazer esta pequena aplicação desktop usando o FB Embed...
T+
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)