Acess violation in module msvcrt.dll
Olá a todos,
Sou novo aqui no forum
Estou fazendo uma aplicação financeira com delphi XE2 e mysql 5.1 e quando vou fazer uma pesquisa dinamica (conforme o usuário digita), estou me deparando com este erro: Acess violation at adress xxxxx in module msvcrt.dll
Estranho é que só aparece este erro após eu digitar um numero maior do que 5 caracteres. Seu eu digitar 4 ele funciona normalmente.
Inicialmente estava dando erro com o midas.dll então adcionei a lib midaslib na clausa de usues e então começou a dar esse erro com msvcrt.dll.
Alguem poderia me ajudar?
Vlw
Sou novo aqui no forum
Estou fazendo uma aplicação financeira com delphi XE2 e mysql 5.1 e quando vou fazer uma pesquisa dinamica (conforme o usuário digita), estou me deparando com este erro: Acess violation at adress xxxxx in module msvcrt.dll
Estranho é que só aparece este erro após eu digitar um numero maior do que 5 caracteres. Seu eu digitar 4 ele funciona normalmente.
Inicialmente estava dando erro com o midas.dll então adcionei a lib midaslib na clausa de usues e então começou a dar esse erro com msvcrt.dll.
Alguem poderia me ajudar?
Vlw
Victor Bianchi
Curtidas 0
Respostas
Leonardo Xavier
02/01/2012
tente fazer uma reparação da sua instalação do delphi
GOSTEI 0
Victor Bianchi
02/01/2012
Ola,
Vlw por responder. Já fiz e não resolveu.
Vlw por responder. Já fiz e não resolveu.
GOSTEI 0
Leonardo Xavier
02/01/2012
ja tentou desinstalar os componentes e instala-los novamente?
GOSTEI 0
Victor Bianchi
02/01/2012
Não fiz a instalação de nenhum componente de 3º, tudo que vem com delphi por padrão.
O código que estou usando é este:
em uma unit de funções utilizo esta procedure:
procedure Pesquisa(DataSource : TDataSource; Field : String; Value : String); //efetua pesquisa (filtro) no banco de dados
begin
DataSource.DataSet.Filter := Upper( + Field +) like + quotedstr(% + UpperCase(Value) + %);
DataSource.DataSet.Filtered := True;
end;
e no formulario utilizo esta procedure para enviar os parametros
procedure TfrmBase.edtValorChange(Sender: TObject);
var
Position : Integer;
begin
Position := Integer(cbBusca.Items.Objects[cbBusca.ItemIndex]);
Pesquisa(DataSource, DataSource.DataSet.Fields[Position].FieldName, EdtValor.Text);
end;
O código que estou usando é este:
em uma unit de funções utilizo esta procedure:
procedure Pesquisa(DataSource : TDataSource; Field : String; Value : String); //efetua pesquisa (filtro) no banco de dados
begin
DataSource.DataSet.Filter := Upper( + Field +) like + quotedstr(% + UpperCase(Value) + %);
DataSource.DataSet.Filtered := True;
end;
e no formulario utilizo esta procedure para enviar os parametros
procedure TfrmBase.edtValorChange(Sender: TObject);
var
Position : Integer;
begin
Position := Integer(cbBusca.Items.Objects[cbBusca.ItemIndex]);
Pesquisa(DataSource, DataSource.DataSet.Fields[Position].FieldName, EdtValor.Text);
end;
GOSTEI 0
Cleverson.
02/01/2012
Baixa essa dll e coloca na pasta system32.
GOSTEI 0
Eduardo Silva.
02/01/2012
Mais um BUG do XE2, um verdadeiro queijo suiço!
Veja esse posto no forum da embarcadero:
http://qc.embarcadero.com/wc/qcmain.aspx?d=101123
Enquanto o Update 4 não sai, uma solução alternativa:
Modifique a propriedade FilterOptions do ClientDataSet para : [foCaseInsensitive]
Boa Sorte!
Eduardo Belo
Veja esse posto no forum da embarcadero:
http://qc.embarcadero.com/wc/qcmain.aspx?d=101123
Enquanto o Update 4 não sai, uma solução alternativa:
Modifique a propriedade FilterOptions do ClientDataSet para : [foCaseInsensitive]
Boa Sorte!
Eduardo Belo
GOSTEI 0
Leonardo Souza
02/01/2012
Valew, é isso mesmo, só marcar como True a opção foCaseInsensitive do ClientDataset.
GOSTEI 0