Parabéns Alineri! Fantástica contribuição _MESMO_ ! Vou acompanhar o UIB pelo SVN, então... E vou botar pra funcionar uns testes aqui com o FB 2.x
Já ia migrar pro Delphi 2007 pros projetos paralelos pois agora tem um driver DBX4 pro FB2.x; com isso posso ficar no D7 ou D2005 e mesmo assim aproveitar o FB2.x Abraço, Ricardo. alineri <[EMAIL PROTECTED]> escreveu: Ola pessoal, Continuando o assunto sobre o driver da UIB. Na verdade o projeto não esta tão parado assim, antes quero deixar claro que não entrei contato com o mantenedor do projeto, todas as informações aqui são resultados de pesquisas que eu mesmo realizei. Vamos la, o projeto continua sendo atualizado e podemos acompanhar no repositório do Servidor SVN do sourceforge no endereço abaixo: http://uib.svn.sourceforge.net/viewvc/uib/ Após baixar as versões do projeto, compilei a versão 2.1 oficial ( valida ) que fica no diretorio Tags, gerando a dll nessa versão, que tem pouquíssimas modificações em comparação com a versão disponível para download no site. E gerei uma outra dll, com base nas modificações feitas no diretório source dentro da pasta trunk do link acima. Entre as atualizações tem o suporte para o Firebird 2.1 entre outros que podem ser verificados nos registros de log do SVN do site. Estou testando as duas dlls que foram compiladas nas duas versões do Firebird 2.0 e 2.1 e ambas funcionam bem nessas duas versões do Firebird, não testei na versão 1.5 do firebird mas acredito que o suporte continue. Bem, documentei vários erros mencionados por colegas nesse forum e em outros e nao encontrei os referidos erros em ambas as dlls compiladas Uma observação : As dlls foram compiladas no delphi 7 e testadas no delphi 7 e BDS 2006. O único erro que não encontrei uma solução aparente no font do projeto foi em relação aos campos Blobs. Quem trabalhou ou trabalha com a Dll ja deve ter se deparado com o problema em que ao incluir ou atualizar uma imagem em um campo blob, a primeira transação é feita com sucesso, se tentarmos enviar uma nova imagem ou atualiza-la tinhamos o erro "transaction not assigned" Resolvi esse erro da seguinte forma, utilizando o closedatasets do sqlconnection. ex: var MemImagem : TMemoryStream; CampoBmp : TJPEGImage; begin .... Sqldataset1.commandtext := 'insert into clientes_foto ( idcliente, foto) values (:PAR_IDCLIENTE,:PAR_FOTO)'; Sqldataset1.parambyname('PAR_IDCLIENTE').VALUE := MEDITIDCLIENTE.TEXT; Sqldataset1.PARAMBYNAME('PAR_FOTO').LoadFromStream(memimagem,ftblob); try MinhaTransacao.TransactionID := 1; MinhaTransacao.IsolationLevel := xilREADCOMMITTED; SQLConnection.StartTransaction(MinhaTransacao) SQLConnection.CloseDataSets; SqlDataSet.ExecSQL; SQLConnection.Commit(MinhaTransacao); Except on Exc:Exception do begin SQLConnection.Rollback(MinhaTransacao); MessageDlg('Erro:'+#10#10+Exc.Message,mtError,[mbOK],0); end; end; // abaixo um exemplo de como gerar um stream para carregar em campos //blobs CampoBmp := TJPEGImage.Create; MemImagem := TMemoryStream.Create; campobmp.Assign(imgfoto.Picture.Graphic); campobmp.CompressionQuality := 80; memimagem.free; campobmp.SaveToStream(memimagem); memimagem.Position := 0; end; Dessa forma conseguimos trabalhar tranqüilamente com campos blobs sem mudar o "padrão" de como trabalhar com transações no dbx, porque se colocarmos o execsql antes de iniciarmos a transação também funciona, ex: SQLDataSet1. CommandText := 'insert into table (codigo) values (1)'; SQLDataSet1. ExecSQL; StartTransaction; commit; Antes de finalizar o Closedatasets não fecha os datasets, nem fecha a conexão, a grosso modo, o CloseDatasets "limpa" os componentes dataset. Sei que é muito mais "seguro" trabalhar com drivers de empresas que mantem seus componentes atualizados, sei que o driver crlab para um único desenvolvedor sem o font não sai assim tão caro, se não me engano não sai por mais de R$ 180,00, mas já que temos um driver disponível a comunidade porque não utiliza-lo ? E inclusive ajuda-lo em sua manutenção e desenvolvimento, não podemos dizer todos, mas em sua grande maioria programadores que utilizam a plataforma delphi usam em seus projetos o Firebird como Banco de dados. Bem fica ai minha contribuição, espero que seja útil a alguém , segue abaixo o link para download das dlls, e os fontes utilizados para gerar ambas. OBS: A dll que esta no diretório VERSAO_TRUNK e a dll que foi gerada com as modificações ainda em teste, por isso a utilize ainda como teste. A dll que esta no diretório VERSAO_TAGS foi gerada apartir dos fontes da versão 2.1 do diretório tags do repositório SVN. Lembrando que essa iniciativa não tem nenhuma responsabilidade ou ligação com o site do mantenedor do projeto, e para utilização oficial testada e validade do produto ir diretamente no site do mantenedor http://www.progdigy.com/modules.php?name=UIB ou no site http://uib.svn.sourceforge.net/viewvc/uib/ que é o repositório SVN do projeto. O intuito desse e-mail e de mostrar que e possível trabalhar com a Dll da UIB e incentivar os projetos Open. fontes http://rapidshare.com/files/120095669/UIB21_TAGS.rar fonts http://rapidshare.com/files/120098103/UIB21_TRUNK.rar dlls http://rapidshare.com/files/120098709/DBExpress_drivers.rar Um forte abraço a todos Alineri --------------------------------- Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! [As partes desta mensagem que não continham texto foram removidas]