Form창을 두개이상 띄어 여러번 실행을 한후... 창을 닫게되면
Access violation at address 005E813D in module 'aaa.exe'. Read of address 00000000.와같은 에러가 발생합니다..
숫자부분... 바껴가면서 여러번 에러창이 뜨더라구여..
QuickRep1.PreView; 할때.. 델파이에서 제공되는 미리보기 창이 열리게되는데.. 이 프로그렘은 레포트를 Form1 자체에서 열리게끔 코딩했거든요...
1) Form1을 열어 Preview.
2) Form1이 열린상태에서 Form2창을 열어 Preview..
3) 또 다시 Preview된 Form1(Active상태)을 다시 Preview를...
반복하다보니.. Preview된 Form들을 닫지 않은상태에서 계속 Preview만 했기때문에 에러가 발생된거같습니다..
Active 상태가 아닌경우에 Preview된 창을 어떻게 닫아 줘야할런지....
고수님들의 답변 부탁드립니다..
좋은하루 되세여~
findwindow를 이용해서 핸들값이 존재하는 폼이면, 그 폼이 현재 올라와
있는 것이므로 그냥..preview하고, 없으면 폼을 생성 시키는거죠...
이렇게요...
var handle : THandle;
begin
handle := findwindow('f_q_s_service_notaccount',nil);
if (handle = null) or (handle = 0) then
f_q_s_service_notaccount := Tf_q_s_service_notaccount.Create(self);
f_q_s_service_notaccount.QuickRep1.PreviewModal;