O
Lazarus é uma ferramenta de programação livre, similar ao Delphi usado no Windows.
O Lazarus, nos componentes mais avançados, é de costume deixar o usuário escolher e baixar os componentes, geralmente no formato LPK.
Para acesso a banco de dados eu recomendo o
ZEOS Access. Esta dica parte do princípio que vocês já tenham o Lazarus 0.9.24 instalado e saibam instalar um pacote comum LPK.
O problema é que o ZEOS Access funcionava muito bem no Lazarus 0.9.22 e 0.9.23. Na versão 0.9.24, ao compilar o pacote aparece um erro de parâmetros.
Para resolver este probleminha, vá no diretório do pacote de instalação do ZEOS, em seu sub diretório src/component/, abra o arquivo "ZAbstractRODataset.pas" e procure o trecho de código igual ao mostrado abaixo:
const
BaseFieldTypes: array [TFieldType] of TFieldType = (ftUnknown, ftString, ftSmallint, ftInteger, ftWord, ftBoolean, ftFloat, ftCurrency, ftBCD, ftDate, ftTime, ftDateTime, ftBytes, ftVarBytes, ftAutoInc, ftBlob, ftMemo, ftGraphic, ftFmtMemo, ftParadoxOle, ftDBaseOle, ftTypedBinary, ftCursor, ftFixedChar, ftWideString, ftLargeint, ftADT, ftArray, ftReference, ftDataSet, ftOraBlob, ftOraClob, ftVariant, ftInterface, ftIDispatch, ftGuid, ftTimeStamp, ftFMTBcd);
Deve-se adicionar mais dois parâmetros para corrigir o problema, são eles:
- ftFixedWideChar, ftWideMemo
O trecho de código resultante ficará assim:
const
BaseFieldTypes: array [TFieldType] of TFieldType = (ftUnknown, ftString, ftSmallint, ftInteger, ftWord, ftBoolean, ftFloat, ftCurrency, ftBCD, ftDate, ftTime, ftDateTime, ftBytes, ftVarBytes, ftAutoInc, ftBlob, ftMemo, ftGraphic, ftFmtMemo, ftParadoxOle, ftDBaseOle, ftTypedBinary, ftCursor, ftFixedChar, ftWideString, ftLargeint, ftADT, ftArray, ftReference, ftDataSet, ftOraBlob, ftOraClob, ftVariant, ftInterface, ftIDispatch, ftGuid, ftTimeStamp, ftFMTBcd, ftFixedWideChar, ftWideMemo);
Veja abaixo um screenshot do resultado, o Lazarus 0.9.24 funcionando com o pacote ZEOS Access instalado, rodando sem problemas.
OK. Espero ter ajudado.
Nenhum coment�rio foi encontrado.