Problème de code = erreur "opération de pointeur incorrecte"
ODLCITEINFO
Messages postés10Date d'inscriptionsamedi 28 janvier 2006StatutMembreDernière intervention29 décembre 2010
-
17 oct. 2010 à 14:45
ODLCITEINFO
Messages postés10Date d'inscriptionsamedi 28 janvier 2006StatutMembreDernière intervention29 décembre 2010
-
18 oct. 2010 à 19:15
Bonjour,
j'ai un problème qui me pose problème, je ne trouve pas le problème et sa me turlupine beaucoup.
Voici mon code dans lequel le problème survient;
[
procedure TForm9.calculer(var value: string);
var
val : string;
symbol, ligne, col: boolean;
tmpligne, tmpcol : string;
noligne, nocol, i : integer;
calc : array of array of string;
okln, okcol : boolean;
begin
Initialisation;
symbol := false;
for I := 1 to length(value) do
begin
val := copy(value, i, 1);
showmessage(val);
if symbol = true then
begin
calc[length(calc)-1, 3] := val;
symbol := false;
end;
if (ligne = true) and (val<>'_') then if tmpligne= '0' then tmpligne := val
else tmpligne := tmpligne + val
else noligne := strtoint(tmpligne);
if val = '_' then
begin
if ligne=false then ligne := true
else
begin
ligne := false;
okln := true;
end;
end;
if (col = true) and (val<>'|') then if tmpcol= '0' then tmpcol := val
else tmpcol := tmpcol + val
else nocol := strtoint(tmpcol);
if val = '|' then
begin
if col=false then col := true
else
begin
col := false;
okcol := true;
end;
end;
if (okcol true) and (okln true) then
begin
setlength(calc, length(calc)+1, 3);
calc[length(calc)-1, 0] := inttostr(nocol);
calc[length(calc)-1, 1] := inttostr(noligne);
symbol := true;
Initialisation;
end;
end;
showmessage('ln1 : ' + calc[0, 1] + ' ; col1 : ' + calc[0, 0] + 'signe1 : ' + calc[0, 2]);
showmessage('ln2 : ' + calc[1, 1] + ' ; col2 : ' + calc[1, 0] + 'signe2 : ' + calc[1, 2]);
end;
]
J'ai mis des showmessage partout pour trouver le problème, me conclusion, il va jusqu'au bout de la procedure mais ne poursuit pas le programme la ou la procedure calculer à été appelé, à la place j'ai le droit à une message d'erreur : "opération de pointeur incorrecte",
pour que la procedure fonctionne correctement, value doit contenir des info comme ceci : "_nbligne1_|nbcolonne1|+_nbligne2_|nbcolonne2|" exemple : de traitement _-1_|0|+_0_|-1|;
en chercheant sur le net je suis sans arrêt tombé sur des problème lié à des DLL, moi je n'en utilise pas dans ce programme.
merci beaucou pour votre aide et espère avoir réponse rapidement
bien cordialement.
ODLCITEINFO
Messages postés10Date d'inscriptionsamedi 28 janvier 2006StatutMembreDernière intervention29 décembre 2010 18 oct. 2010 à 19:15
A ouai, en effet, c'est trise de la part de delphi agrandissement des tables dynamique de 1..n et affectation de 0..n-1, en effet sa résoud si simplement, merci bcp