Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

fajo

Passagem De Parametros Em Tempo De Execução No Delphi 2007

Recommended Posts

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.