Q&A

  • 퀵리포트에서 'ㄴㄹㄴㄹㄴㄹ...' 쩝...
안녕하세요

오라클 디비를 쓰고 Varchar2(1000) 인 필드를 퀵 리포트로

출력하는데 QRDBText로 출력하는데 미리보기에선

문제없이 잘 됩니다.

그러나 막상 출력만 하면 다른 필드들은 잘 출력되는데

Varchar2(1000)으로 돼 있는 필드만 'ㄴㄹㄴㄹㄴㄹㄴㄹㄴㄹ...'

이런 식으로 출력이 되네요...

이런 경우는 첨이라...도움을 구합니다.

아..그리고 퀵 리포트 출력했다 닫았다 다시 출력했다를

한 서너번 반복하면 퀵리포트 에러가 나는데 이거 해결할

방법 없나요?

폼의 OnClose 에 Action = caFree;

도 해보고 별짓 다해봐도 계속 몇번 반복하면 에러가 나네요...

고맙습니다~
1  COMMENTS
  • Profile
    김경록 2002.03.20 02:20
    일단은여..
    Varchar2(1000)인거에 대해선 어떻게 답을 드릴수가 없네여..
    전 그런 사이즈에 대해서는 DBMemo나, DBRich를 사용하기 때문에..
    그런 문제를 발생해본 적이 없네여..
    '

    아참.. 몇번 퀵리포터를 열었다 닫았다한 후에
    에러가 발생하는 문제는 알고 있습니다.
    이것은, 델파이의 고정적 문제입니다.
    즉, Free하던, Destroy를 하던간에..
    각 Class가 해제되긴 하지만, 연결되어 있는 메모리 번지에 대한
    정보들은 해지가 되지 않는 것 같습니다..
    그래서, 리소서, 메모리등을 갈가 먹구..
    뭐... 다시 같은 퀵리포터를 띄우면, 똑같이 저번에 띄웠던..
    메모리에 다시 올릴려고 하다가 에러가 나는거 같습니다..

    이런 문제를 이전에 거의 3일 동안 머리를 싸면서 헤멧던 경험이 있습니다.
    물론, 델파이 4에서 말입니다..
    현재는 버젼에 문제 없이 다 가지고 놀지만여..

    서두가 길었군여..   *^^*
    결론적으로..
    Close를 할때에 어떤 액션을 줘도 되지 않습니다.
    해결하는 방법을 예로 들면서 설명해 드리겠습니다..
    아마도.. 상당히 머리가 아팠을 겁니다.. 짜증도 나구..

    먼저, 메뉴에서 퀵리포트를 실행시킨다고 가정을 하겠습니다..
    메뉴 이벤트에 코딩은 이렇게 해야 합니다..

    1.   퀵리포터를 Create시킨다.
    2.   쿼리를 사용하여 출력내용을 정한다.
    3.   Prepare;
    4.   퀵리포터명.Preview;  //바로 출력할려면, print
    5.   퀵리포터명.free;
    6.   퀵리포터명 := Nil;

    다른건 모든 델파이 유저가 하는 거지만..
    6번은 잘 하지 않을 겁니다..
    즉...   6번이 아주 중요합니다..
    확실한 메모리에서 날려버려여..
    그렇게 하면 에러가 나지 않아여~~
    답이 되셨길..


                    최강의 프로그래머를 위하여~~~