Sign in to follow this  
jeanrbastos

Ado + Thread + Oracle

Recommended Posts

Tenho uma aplicação que faz varias inserções e atualizações em uma tabela no ORACLE, esses acessos ao banco são feitos de uma thread, que possue uma conexão ADO com o banco, funciona quase tudo ok a não ser o seguinte erro "List index out of bounds (xx)" onde xx é um número que aparece na maioria das vezes de ordem crescente.

Esse erro ocorre de forma aleatória...

Alguém tem idéia de como resolvo isso ou o que provoca isso?

Obrigado pela atenção!

Share this post


Link to post
Share on other sites

opa

seguinte, você tem algo no seu projeto de origem TStrings tipo uma TStringList, TListBox, etc que alguma procedure/function chama a mesma passando um valor de Index que não existe.

exemplo

var

sl: tstringlist;

begin

sl := tstringlist.create;

sl.add('Index 0');

sl.add('Index 1');

sl.add('Index 2');

showmessage(sl[3]);

sl.free;

em showmessage vai dar esse erro ai, justamente porque a Index 3 não

existe na lista...

o que você tem a fazer é achar em qual lugar está usando algum objeto da classe TStrings e antes de qualquer coisa checar se não vai estourar a Index...

qlq coisa posta ai

abraços

Share this post


Link to post
Share on other sites

O problema é originado da classe TADOConnection, no Application.OnException consigo pegar isso, e os objetos que usam listas todos estão ok.

O problemas esta na ADO, porém não sei o que provoca esse erro.

Alguém sabe o que é?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this