윈미에서 DB테이블의 데이터를 액티브X의 차트 fx로 찍어보여주는 폼이 있습니다.
그런데 그제 님다바이러스에 걸려서 치료하다 윈도우가 뻑나서
윈도우를 포맷하지 않으려는 필사적인노력으로 윈2000으로 덮어버렸죠.
ㅠㅠ 그런데 그이후가 문제입니다. 프로젝트가 다른건 전과 다름없이 잘되는데.
차트 fx쓴 폼만띄우려면 뻑이 나네요 ㅠㅠ
새로 테스트삼아서 만드는 폼에는 차트 Fx를 써도 잘되는데
기존에 했던 프로젝트의 Fx만 안되는 이유는 무었일까요?
고수님들 좀 가르쳐주십시오 다른 기능들은 전부 잘 됩니다.
그리고 콤파일할때도 잘되고 실행해도 잘되는데 Db연결이니 제어니 다 잘됩니다.
근데 꼭 차트 fx가 있는 폼을 부르면 (기 실행한 프로젝트에서) 뻑이납니다.ㅠㅠ
제가 말이 좀 이상하다고 생각되시면 꼭 리플부탁드립니다.
소스 보시고 좀 가르쳐 주십시오 ㅠㅠ
procedure TfRtuAIGraph.pViewGraph;
var
I : Integer;
begin
I := 0;
with Query do begin
Close;
Sql.Clear;
Sql.Add('Select * from rtu_ai_history');
Open;
First;
Chart1.OpenDataEx(COD_VALUES, 1, RecordCount);
while not EOF do begin
Chart1.ThisSerie := 0;
Chart1.Value[I] := FieldByName('Cur_Value').AsInteger;
====================================요 바로밑에줄에 커서가 가거든요?
Chart1.Legend[I] := Copy(FieldByName('Event_Id').AsString, 1, 4)+ '-' +
Copy(FieldByName('Event_Id').AsString, 5, 2) + '-' +
Copy(FieldByName('Event_Id').AsString, 7, 2) + ' ' +
Copy(FieldByName('Event_Id').AsString, 9, 2) + ':' +
Copy(FieldByName('Event_Id').AsString, 11, 2) + ':' +
Copy(FieldByName('Event_Id').AsString, 13, 2);
Next;
Inc(I);
end;
Close;
Chart1.SerLeg[0] := 'RTU4000-00 PORT 3';
Chart1.CloseData(COD_VALUES);
end;
end;
에러 메세지는
Project dims.exe raised exception class EAccessViolation with message 'Access violation at address 78001D9. Write of address 00157000'. Process
stopped. Use Step of Run to continue.
이런게 나오고요 OK하면 위에 표시한 부분에 커서가 갑니다.
ㅠㅠ 정말 영어라도 배워야지 안대겠습니다 물론 쉬운것이긴한데.. 아직 플그램
경력이 미천한지라 거기다 프로젝트 팀장없이 혼자하니 ㅠㅠ
머리가 빠개질것 같아요 한델고수님들 살려주세요 자라나는 새싹이 ㅠㅠ
좌절에 ㅠㅠ.........
(27먹은 새싹이 있나 근데 **;;;;;;;;;;;)
두가지 경우가 있겠습니다. 실제로 바이러스 때문에 Chart1 관련 dll등이
손상을 입었을경우, 혹은 엑서스바이올레이션 넘겨받을 개체(혹은 컴포넌트등)이
메모리상에 존재 하지 않기때문에 발생하는 에러 입니다.
Chart1관련 dll 또는 관련 바이너리 파일 손상으로 인해 실제 Chart1 컴포넌트가
문제가 생겼다면 새로이 설치 하셔야 하겠