음 처음으로 다이너믹 어레이를 이용해서 PG를 하고 있습니다.
제생각으론 맞는 것 같은데 자꾸 access violation 이 발생합니다...
소스는 다음과 같습니다.
1)SetLength(BuffD,Qry1.RecordCount,6);
즉 쿼리의 record count을 행의 갯수로 잡고(맞나요?)
각 행마다 6개의 colum 을 설정합니다..
즉 BuffD[0,0] ~~~[BuffD-1,5]까지의 어레이가 생기는 것 같은데 ?
2) 그다음에 이 어레에 데이탈,집어 넣는데
BuffD[RecCnt,1]:=IntToStr(TotSeoul);
에러가 납니다.
아시는 분 도와주시기 바랍니다.
감사합니다..
> 음 처음으로 다이너믹 어레이를 이용해서 PG를 하고 있습니다.
> 제생각으론 맞는 것 같은데 자꾸 access violation 이 발생합니다...
> 소스는 다음과 같습니다.
>
> 1)SetLength(BuffD,Qry1.RecordCount,6);
> 즉 쿼리의 record count을 행의 갯수로 잡고(맞나요?)
> 각 행마다 6개의 colum 을 설정합니다..
> 즉 BuffD[0,0] ~~~[BuffD-1,5]까지의 어레이가 생기는 것 같은데 ?
>
> 2) 그다음에 이 어레에 데이탈,집어 넣는데
> BuffD[RecCnt,1]:=IntToStr(TotSeoul);
>
> 에러가 납니다.
>
다차원 동적배열을 사용하셨군요.
BuffD의 원형이 잘 선언되었다면 SetLength로 메모리 할당시에는 에러가 없을테고,
값을 할당할 때에도 문제가 없어야 겠죠.
아마도 BuffD[RecCnt,1]:=IntToStr(TotSeoul) 에서 RecCnt의 값에 문제가
있을것 같군요.
예를들어 Qry1.RecordCount의 값이 6이였다면 RecCnt의 값은 5이하의 값을 가져야하죠.
ex)
type TowDimArray = array of array of String;
var BuffD : TowDimArray;
SetLength(BuffD,6,6);
BuffD[0,0] ~ BuffD[5,5] // 사용가능 배열의 첨자범위
> 아시는 분 도와주시기 바랍니다.
> 감사합니다..
>
>
>