Q&A

  • 델파이2007 퀵리포트 4.07 오류발생!! ㅜㅜ
안녕하세요 델파이 2007로 마이그레이션하고 테스트를 하고있는데요
퀵리포트 4.07 설치해서 사용했습니다.

아근데..
미리보기. 프리뷰에서 항상  metafile not  in valied  오류가 발생하더군용
그래서 리포트 소스를 분석하고 있는뎅

첫페이지를 다시 로딩할때. 에러가 발생합니다. 첫페이지를 못찾아갑니다.\


아래는 퀵리포트에서 첫페이지를 가리킬때  로딩해주는 부분입니다.
여기서 에러가 나지요.

function TQRPageList.GetPage(PageNumber : integer) : TMetafile;
var
  Dummy : longint;
  TempStream : TMemoryStream;
  aByte : byte;
  BytesToGet : longint;
  I : longint;
begin
  if PageNumber > PageCount then
    result := nil
  else
  try

    LockList;
    SeekToPage(PageNumber);  <-- 이부분에서 1페이지를 가리킵니다.
    Stream.Read(Dummy,SizeOf(Dummy));
    Stream.Read(Dummy,SizeOf(Dummy));
    BytesToGet := BytesToGet-Stream.Position;
    result := TMetafile.Create;
//    result := nil;


    if (Compression) then
    begin
      Stream.Read(BytesToGet,SizeOf(BytesToGet));
      TempStream := TMemoryStream.Create;
      aCompressor := TQRCompress.Create(Stream, false);
      for I := 1 to BytesToGet do
      begin
        aCompressor.Expand(aByte);
        TempStream.Write(aByte,1);
      end;
      aCompressor.Free;
      TempStream.Position := 0;
      result.LoadFromStream(TempStream);
      TempStream.Free;
    end
    else
    begin
      result.LoadFromStream(Stream);  <-- 이부분에서 첫페이지를 로딩합니다. 바로에러납니다. ㅜㅜ
    end;


    Stream.Read(Dummy, SizeOf(Dummy));

    UnlockList;






  except
    result := nil;
  end;


천재적인 고수님들 퀵리포트 버그좀 잡아주세요 ㅜㅜ
리포트 소스가 엄청많아서 바꾸기는 버겁습니다.
1  COMMENTS
  • Profile
    한기동 2007.11.08 20:43
    자작 답변이네용 ㅎㅎ~ 다른 사용자들 있을거라 생각해서
    퀵리포트4.07 버그를 패치한걸 올려드립니다.
    metafile not in va...... 어쭈구 저쩌구 에러나신분은.. 첨부파일을 소스부분에 덮어주세요..
    그리고 컴파일하시면됩니다.


    • 이정욱
      2007.11.13 01:19
      랜카드의 구별이 아닌 IP주소로 판단 하시면 됩니다. 즉 공인아이피와 사설아이피와의 구분은 명확하므로,...
    • Marek
      2007.11.13 06:25
      안녕하세요 여러개의 디렉터리를 선택하시려면 ShellTreeView와 ShellListView를 이용하세요 ShellList...
    • 황경수
      2007.11.13 18:15
      제가 작성하고자 하는 프로그램은 디렉터리 외에는 파일은 선택이 되면 안되거든요. 그런데, ShellListV...
    • 구창민
      2007.11.13 20:24
      안녕하세요.. ShellListView 의 프로퍼티에 ObjectTypes 를 보시면, otNonFolders <- 얘를 False 로 ...
    • 황경수
      2007.11.13 20:46
      위에 답글 달아 주신 분도 감사하구요. 구창님님께도 정말 감사 드립니다.. 고마워서 눈물이..ㅜ.ㅜ ...
    • 초보자
    • 2007.11.12 13:04
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      2007.11.13 01:22
      쉽습니다. ShellListView에서 선택된 것의 경로를 가지고 확인하시면 됩니다. 예를들면.. <!--...
    • 구창민
      2007.11.13 00:01
      안녕하세요.. 아래코드는 특정 디렉토리 내의 목록을 구하는 루틴인데, 코드를 보시면, 디렉토리인...
    • Phil Choi
    • 2007.11.12 10:45
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 김기원
      2007.11.13 17:53
      안녕하세요. 저의 경우 파라미터를 사용하지 않고 아래와 같이 처리합니다. 예전에 파라미터를 사용할 ...
    • Marek
      2007.11.13 06:35
      안녕하세요 처음부터 작업하려는 Database를 설치후 개발하십시요. 파라독스를 사용하려면 님의 코드중...
    • 이정욱
      2007.11.11 03:57
      에구.. 수동으로 그냥 입력하셨나 보군요. 델파이 폼 위에 버튼과 라벨을 한개씩 올리신 후에 프로퍼티 ...
    • 문원규
      2007.11.13 03:27
      델파이 폼 위에 버튼과 라벨을 한개씩 올린다는 뜻과 프로퍼티 창에서 이벤트 탭의 OnClick 이벤트를 더...
    • 이정욱
      2007.11.13 21:06
      답변이 될지는 모르겠지만.... 말로 설명드리기는 좀 힘들것 같네요.. 델파이 책 을 하나 구하셔서 ...
    • 김기원
    • 2007.11.10 00:31
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      2007.11.10 21:37
      그냥 노트패드에서 작업해서 사소한 버그가 있을 수 있습니다.. 아래와 같은 결과를 원하시는 것인지요? ...
    • 김기원
      2007.11.13 00:57
      감사합니다. 방법을 찾다가 해결한 방법이 아래와 같았습니다. ^^; 역시 체계적으로 배우질 않았더니 막...
    • 델코초
      2007.11.10 03:41
      아래와 같이 해 보시는건 어떨까요? ^^ procedure TfrmMain.UF_ShowChildForm(frmClass: TFormClas...
    • 김기원
      2007.11.10 20:03
      답변감합니다. 그런데 같은 오류가 발생합니다. ^^;
    • Marek
      2007.11.10 23:39
      안녕하세요 QuickRep를 구동시키는 소스를 함께 올려주세요. 컴포넌트 올렸다고 해서 느려지는 것은 절...
    • 최용일
      2007.11.09 01:15
      안녕하세요. 최용일입니다. 도움말에 보니 GetLastError를 호출하면 에러메세지를 알 수 있고, Internet...
    • 델파인
      2007.11.09 03:00
      InternetGetLastResponseInfoA(lpdwError, lpszBuffer, lpdwBufferLength) 함수를 써서 실행해 보았는데 에...
    • 한기동
    • 2007.11.08 19:18
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 한기동
      2007.11.08 20:43
      자작 답변이네용 ㅎㅎ~ 다른 사용자들 있을거라 생각해서 퀵리포트4.07 버그를 패치한걸 올려드립니다. ...
    • 델코초
    • 2007.11.08 05:22
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      2007.11.08 15:57
      폴더를 선택하는 다이얼로그는 따로 준비되어있습니다. OpenDialog나 SaveDialog는 파일 선택을 위한 다...
    • 델코초
      2007.11.08 22:21
      여기저기 찾아보고 있는데, 잘 안보이네요... opendialog 관련해서는 많은것 같은데, Save 관련해서는 ...
    • 최용일
      2007.11.09 01:17
      SHBrowseForFolder로 검색해보세요. 여기저기 예제가 많이 있을겁니다.
    • 이영주
    • 2007.11.08 05:04
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 델코초
      2007.11.10 02:47
      잘 되는데요... ^^ 샘플코드 올려 볼께요... 받아서 실행 해보세요.. 델 7 으로 만들었어요.. 프...
    • 이영주
      2007.11.10 03:32
      음... 소스코드 확인안하고 무심코 실행했다가... 골동품 기계 인걸 다시 확인했습니다. 엑셀을 100번을 ...
    • 델코초
      2007.11.10 03:43
      ㅎㅎ 죄송합니다... 고생 시켜 드리려 한건 아니었는데... 에고... ^^
    • 초보자
    • 2007.11.08 03:12
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 김병윤
      2007.11.09 20:06
      메뉴에 보시면 Tool > Editer Option 에서 변경하실 수 있습니다.
    • 미로
    • 2007.11.07 20:29
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2007.11.09 02:51
      핫키의 ID를 알 수 있는 방법이 없는것 같아서.. 핫키 자체를 보내지는 못할것 같군요... 다만 Keybd_ev...
    • 구창민
      2007.11.06 21:43
      안녕하세요... 기본프린터가 설정되어 있지 않은 경우 메시지를 출력하고 종료하는 루틴입니다.. fun...
    • 박준영
      2007.11.06 21:47
    • 이영도
      2007.11.06 20:23
      곰플레이어를 걍 ActiveX로 등록하시면 쉬운데. 그렇게는 안하시나요.
    • 미로
      2007.11.06 20:50
      ActiveX 사용 안하고.... 별도 프로그램에서 제어하고 싶거든요.
    • 이현우
      2007.11.25 03:10
      곰플레이어 제작자가 아닌이상 버튼이 눌러졌을때 발생되는 메시지까진 알기 힘듭니다. 하지만 프로그램을...
    • 낙화
    • 2007.11.06 01:53
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2007.11.06 18:34
      음.... InstallShield는 ocx만드는 프로그램이 아니라 설치 프로그램을 만드는 프로그램입니다. ocx를 ...
    • 양선호
    • 2007.11.06 01:39
    • 0 COMMENTS
    • /
    • 0 LIKES