몇 년 전에 구현 된 프로젝트에서 디버그를 시도하면서 Delphi에 처음 생겼습니다. 내 생각은 델파이 2010이고 오류가있는 코드입니다.Delphi - E2033 실제 및 공식 var 매개 변수 유형이 동일해야합니다.
function DrawTextExW(hDC: HDC; lpString: PWideChar; nCount: Integer; var lpRect:
TRect; uFormat: UINT; dtp: PDRAWTEXTPARAMS): Integer;
const
MAX_STATIC_BUFFER = 8192;
const
STATIC_BUFFER_LEN: integer = 8192;
const
DT_PREFIXONLY = $00200000;
var
...
tm: TTextMetricA;
...
begin
...
GetTextMetrics(hDC, tm); //Error Line
if (uFormat and DT_EXTERNALLEADING) = DT_EXTERNALLEADING then
lh := tm.tmHeight + tm.tmExternalLeading
else
lh := tm.tmHeight;
...
end
얻기 "[DCC 오류] ElVCLUtils.pas (3555) : 실제와 공식 VAR 매개 변수의 E2033 유형이 동일해야합니다"그 라인에서 오류가 발생했습니다. 이 코드의 문제점은 무엇입니까?
컴파일러는 코드의 문제점을 정확히 알려줍니다. var 매개 변수를 확인한 다음 문제의 실제 매개 변수와 형식 매개 변수의 유형을 확인하십시오. 일치하지 않는 것을 볼 수 있습니다. –
이 기능이 더 이상 존재해야하는지 여부를 고려 했습니까? 'DrawTextExW'는 이미 OS에 의해 제공됩니다. 어쩌면 당신의 프로젝트는 Windows 98과 같이 Ansi Windows 버전을 타겟으로 삼은 시점에서 나온 것일 수도 있습니다. Microsoft 나 Embarcadero에서는 이러한 버전을 지원하지 않기 때문에 지원할 필요가 없을 수도 있습니다. 그런 다음이 코드를 고치지 않고 삭제할 수 있습니다. –
Rob, 지원이 필요합니다. 프로젝트가 다음과 같습니다. :) 다른 플랫폼에서 프로젝트를 다시 작성하여 알고리즘을 읽고 이해하려고합니다. Serg의 대답은 빠른 수정으로 충분합니다. 귀하의 답변을 주셔서 감사합니다;) – ffffffff