procedure ViewStr(DC: HDC; X, Y, nx, ny: Integer; P: PChar);
(*-----------------------------------------------------------
DC = DC 핸들
X, Y = 출력될 화면상의 위치
nx = 글꼴 너비
ny = 글꼴 높이
P = 출력될 문자열의 주소값
-----------------------------------------------------------*)
var
i,
len,
size : integer;
VarArray : variant;
TmpDC : HDC;
OldBmp,
TmpBmp : HBITMAP;
begin
if p = nil then exit;
len := strlen(p);
size := len;
inc(size, size mod 2);
VarArray := VarArrayCreate([0, size * ny - 1], varByte);
~~~~~~~~~~~~~~
FontArray := VarArrayLock(VarArray);
~~~~~~~~~~~~
VarArrayUnlock(VarArray);
~~~~~~~~~~~~~~
i := 1;
while p^ <> #0 do begin
if (byte(p^) and $80) <> 0 then
begin
GetHanImage((byte(p^) shl 8) + byte((p+1)^), size, i - 1);
Inc(i);
Inc(p);
end else
GetEngImage(byte(p^), size, i - 1);
Inc(i);
Inc(p);
end;
TmpBmp := CreateBitmap(len * nx, ny, 1, 1, FontArray);
TmpDC := CreateCompatibleDC(DC);
OldBmp := SelectObject(TmpDC, TmpBmp);
BitBlt(DC, x, y, len * nx, ny, TmpDC, 0, 0, SRCCOPY);
SelectObject(TmpDC, OldBmp);
DeleteDC(TmpDC);
DeleteObject(TmpBmp);
end;
지금 한글 컴포넌트를 분석하고 있는데요.. (참고로 전 VC를 쓰고여.. Delphi는 초보 수준입니다.. ㅠㅠ)
위 소스에서 제가 물결표시 한 부분에 에러가 나는데요..
왜 에러가 나죠?