SetLength dando Access Violation
Galera, to desesperado...
Quando eu chamo o setlength pra definir o tamanho de um vetor tipo double ele da violação de acesso. Não sei mais o q fazer, será que alguém tem alguma idéia do q se trata isso:
if PAxB < 0.05 then
begin
//desdobramento da interação AxB (A d. B)
SetLength(SQFatAdFatB,NiveisB); //aqui da o problema...
for i := 0 to NiveisB - 1 do
begin
SQFatAdFatB[i] := 0;
for j := 0 to NiveisA - 1 do
begin
SQFatAdFatB[i] := SQFatAdFatB[i] + sqr(MTAB[j,i]);
end;
SQFatAdFatB[i] := (SQFatAdFatB[i]/(NiveisC*NRep)) - (sqr(MTB[i])/(NiveisA*NiveisC*NRep));
end;
muito obrigado pela atenção
abraço a todos
Walter´
Quando eu chamo o setlength pra definir o tamanho de um vetor tipo double ele da violação de acesso. Não sei mais o q fazer, será que alguém tem alguma idéia do q se trata isso:
if PAxB < 0.05 then
begin
//desdobramento da interação AxB (A d. B)
SetLength(SQFatAdFatB,NiveisB); //aqui da o problema...
for i := 0 to NiveisB - 1 do
begin
SQFatAdFatB[i] := 0;
for j := 0 to NiveisA - 1 do
begin
SQFatAdFatB[i] := SQFatAdFatB[i] + sqr(MTAB[j,i]);
end;
SQFatAdFatB[i] := (SQFatAdFatB[i]/(NiveisC*NRep)) - (sqr(MTB[i])/(NiveisA*NiveisC*NRep));
end;
muito obrigado pela atenção
abraço a todos
Walter´
Wart
Curtidas 0
Respostas
Massuda
09/01/2008
Como você declarou SQFatAdFatB? Para poder usar SetLength, SQFatAdFatB deveria ser...
var SQFatAdFatB: array of Double; ...
GOSTEI 0
Wart
09/01/2008
Então massuda, ja fiz isso sim,t a td certinho...
Na verdade estou tendo problemas com stack overflow, to meio desesperado, hehee
abri outro tópico, c vc puder dar uma passadinha por la, hehee
agradeço a atenção de todos
um grande abraço
Na verdade estou tendo problemas com stack overflow, to meio desesperado, hehee
abri outro tópico, c vc puder dar uma passadinha por la, hehee
agradeço a atenção de todos
um grande abraço
GOSTEI 0
Djjunior
09/01/2008
qual o valor de NiveisB? ela foi realmente inicializada, com um valor inteiro maior que 0? fiz testes aqui no Delphi7 e funcionou.
GOSTEI 0