Q&A

  • 이런 에러는 어떻게 해결을....?
안녕하세요.



컴포넌트를 추가해서 폼에 배치하고 컴파일하는 과정에서 이런 에러를

접했는데 어떻게 해결해야 하나여?



var

Malloc: IMalloc;

HR: HResult;

begin

Result := nil;



HR := SHGetMalloc(Malloc); //---> 이부분에서 에러

if Failed(HR) then

Exit;



에러 메시지는

[Error] DCFileCtrl.pas(123): Types of actual and formal var parameters must be identical.



새 애플리케이션에서 불러다 쓸데는 아무 이상이 없이 컴파일이 잘 되는데

지금 짜고 있는 프로그램에서 설치해 사용하니 에러가 발생했습니다.



아시는 분의 조언을 구합니다.



2  COMMENTS
  • Profile
    최용일 2000.05.24 20:37
    안녕하세요. 최용일입니다.



    함수 이름이 같아서 충돌이 일어난 것 같은데 아래와 같이 유닛이름을 명시적으로 써주세요.



    HR := ShlObj.SHGetMalloc(Malloc); // ShlObj유닛의 SHGetMalloc를 호출



    ^^ 항상 즐코하세요.



    홍세비 wrote:

    > 안녕하세요.

    >

    > 컴포넌트를 추가해서 폼에 배치하고 컴파일하는 과정에서 이런 에러를

    > 접했는데 어떻게 해결해야 하나여?

    >

    > var

    > Malloc: IMalloc;

    > HR: HResult;

    > begin

    > Result := nil;

    >

    > HR := SHGetMalloc(Malloc); //---> 이부분에서 에러

    > if Failed(HR) then

    > Exit;

    >

    > 에러 메시지는

    > [Error] DCFileCtrl.pas(123): Types of actual and formal var parameters must be identical.

    >

    > 새 애플리케이션에서 불러다 쓸데는 아무 이상이 없이 컴파일이 잘 되는데

    > 지금 짜고 있는 프로그램에서 설치해 사용하니 에러가 발생했습니다.

    >

    > 아시는 분의 조언을 구합니다.

    >

  • Profile
    조정관 2000.05.24 12:33
    제가 보기에는 현재의 프로젝트에서

    Win32를 사용하고 있어서 그런 것 아닌가 쉽네요...



    Win32 SDK의 function 중에 malloc란게 있쟎아요...

    그것 때문에 사용하신 변수 Malloc가

    Function의 이름과 변수명으로

    중복하여 사용되어져 생긴 문제가 아닌지?

    잘은 모르겠습니다. 그저 추측뿐....



    홍세비 wrote:

    > 안녕하세요.

    >

    > 컴포넌트를 추가해서 폼에 배치하고 컴파일하는 과정에서 이런 에러를

    > 접했는데 어떻게 해결해야 하나여?

    >

    > var

    > Malloc: IMalloc;

    > HR: HResult;

    > begin

    > Result := nil;

    >

    > HR := SHGetMalloc(Malloc); //---> 이부분에서 에러

    > if Failed(HR) then

    > Exit;

    >

    > 에러 메시지는

    > [Error] DCFileCtrl.pas(123): Types of actual and formal var parameters must be identical.

    >

    > 새 애플리케이션에서 불러다 쓸데는 아무 이상이 없이 컴파일이 잘 되는데

    > 지금 짜고 있는 프로그램에서 설치해 사용하니 에러가 발생했습니다.

    >

    > 아시는 분의 조언을 구합니다.

    >