fajo 0 Denunciar post Postado Abril 16, 2007 Oi Pessoal, nos meus projetos sempre repasso os parametros ao sqlconnection atraves de um arquivo .ini, cujo conteúdo é: [PROJETO] DriverName=UIB Firebird15 Database=C:\Sistemas\base.FDB RoleName=RoleName User_Name=SYSDBA SQLDialect=3 BlobSize=-1 CommitRetain=False WaitOnLocks=True LocaleCode= ErrorResourceFile= Interbase TransIsolation=Read Commited lc_ctype=WIN1252 TrimChar=False e no evento OnCreate do DataModule: procedure TDMPrincipal.DataModuleCreate(Sender: TObject); var i : integer; teste : TStringList; begin teste := TStringList.Create; teste.LoadFromFile(extractfilepath(application.exename)+'base.ini'); SQLConnection1.Connected := False; SQLConnection1.Params.Clear; for I := 0 to teste.Count - 1 do SQLConnection1.Params.Add(teste.Strings); SQLConnection1.Params.Add('Password=masterkey'); Teste.Free; SQLConnection1.LoginPrompt := False; try SQLConnection1.Connected := True; except begin showmessage('Base de Dados Não Encontrada!'); Application.Terminate; end; end; end; no D2006 funciona perfeitamente, no entanto no D2007 ocorre um erro: "Project Projeto1.exe raised exception class EAccessViolation with message 'Access violation at address 012E216B in module 'dbxint30.dll'.Read of Address 00000000'". o que está acontecendo? e outra, alguém sabe onde estão os arquivos dbxconnections.ini e dbxdrivers.ini usados pelo D2007, ou eles estão com outro nome, eu sei que o DBExpress mudou sua versão, mas... Muito Obrigado Compartilhar este post Link para o post Compartilhar em outros sites
bdexterholland 0 Denunciar post Postado Abril 16, 2007 Só pela mensagem de erro que o windows está gerando é dificil saber considerando que eu uso o delphi 7. Ao invés de usar stringlist, use o tinifile, com ele você usa o readsections, sendo que o stringlist te atende bem.Execute o programa usando a tecla [F7], o delphi vai executar o programa linha-a-linha, você vai apertando [F7] várias vezes e descobre em que momento está acontecendo o erro. Compartilhar este post Link para o post Compartilhar em outros sites
fajo 0 Denunciar post Postado Abril 16, 2007 Resolvido,tinha tentado tb com o código: conEleitor.Connected := False; conEleitor.Params.Clear; conEleitor.Params.LoadFromFile(extractfilepath(application.exename)+'configbd.ini'); conEleitor.Params.Add('Password=masterkey'); conEleitor.Connected := True;mas tava dando erro de Missing Database Property, ai mudei o LoadFromFile por LoadParamsFromIniFile e funcionou bacana: conEleitor.Connected := False; conEleitor.Params.Clear; conEleitor.LoadParamsFromIniFile(extractfilepath(application.exename)+'configbd.ini'); conEleitor.Params.Add('Password=masterkey'); conEleitor.Connected := True;Obrigado a todos Compartilhar este post Link para o post Compartilhar em outros sites