안녕하세요 델파이 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;
천재적인 고수님들 퀵리포트 버그좀 잡아주세요 ㅜㅜ
리포트 소스가 엄청많아서 바꾸기는 버겁습니다.
퀵리포트4.07 버그를 패치한걸 올려드립니다.
metafile not in va...... 어쭈구 저쩌구 에러나신분은.. 첨부파일을 소스부분에 덮어주세요..
그리고 컴파일하시면됩니다.