Erreur : operation de pointeur incorrecte

Signaler
Messages postés
71
Date d'inscription
vendredi 19 mars 2004
Statut
Membre
Dernière intervention
5 février 2009
-
Messages postés
4297
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
-
Bonjour

Je cherche à mettre dans un tableau le résultat d'une requête. Le problème c'est que quand j'execute mon programme j'ai une erreur : "Operation de pointeur incorrecte".
J'ai beau chercher, je ne vois pas mon erreur.
Voici le morceau de code :

query_corUpd.Close;
query_corUpd.sql.clear;
query_corUpd.sql.add('select IDTABLE from '+NomTable); query_corUpd.sql.add('where ANOMALIE ''CM'' and CORRVILLE '''+trim(copy(ville.Text,1,32))+''' and CORRCP = '''+cp.Text+'''');
query_corUpd.open;
query_corUpd.first;
SetLength(tabid,query_corUpd.RecordCount-1);
for i:= 0 to query_corUpd.RecordCount-1 do
begin
tabid[i] := query_corUpd.Fieldbyname('IDTABLE').AsString;
query_corUpd.next;
end;

Merci

3 réponses

Messages postés
1119
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
4 octobre 2006
7
Hello,



Je suppose que la déclaration de TabId est array of String?



A quelle moment ou a quelle ligne as tu cette erreur ?

Bonne prog,
JMP77.

N'oubliez pas de cliquer sur réponse acceptée.
Messages postés
4297
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
31
Le problème vient du dimensionnement incorrect du tableau dynamique :
SetLength(tabid,query_corUpd.RecordCount-1);

Le tableau doit contenir query_corUpd.RecordCount et non query_corUpd.RecordCount-1 éléments.

Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
http://www.croix-rouge.fr/index/partner_campagne.html
Messages postés
4297
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
31
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.