프로그래밍/델파이

DLL에 버전 정보를 넣어 보자

채윤아빠 2007. 12. 21. 23:52
728x90
반응형
델파이로 DLL을 만들때는 별도로 버전 정보를 넣어야 합니다.
프로젝트 옵션에서 바로 버전 정보를 줄 수가 없더군요.(델7)
DLL에 버전 정보를 넣기 위해서는 다음과 같은 리소스(*.rc) 파일을 만듭니다.

1 VERSIONINFO
 FILEVERSION 1,0,0,1
 PRODUCTVERSION 1,0,0,1
 FILEFLAGSMASK 0x3fL
 FILEFLAGS 0x1L
 FILEOS 0x4L
 FILETYPE 0x2L
 FILESUBTYPE 0x0L
BEGIN
    BLOCK "StringFileInfo"
    BEGIN
        BLOCK "040904b0"
        BEGIN
            VALUE "Comments", "Sample Application\0"
            VALUE "CompanyName", "Microsoft Corp.\0"
            VALUE "FileDescription", "MyProject MFC Application\0"
            VALUE "FileVersion", "1, 0, 0, 1\0"
            VALUE "InternalName", "MyProject\0"
            VALUE "LegalCopyright", "Copyright (C) 1999\0"
            VALUE "OriginalFilename", "MyProject.EXE\0"
            VALUE "ProductName", "MyProject Application\0"
            VALUE "ProductVersion", "1, 0, 0, 1\0"
        END
    END
    BLOCK "VarFileInfo"
    BEGIN
        VALUE "Translation", 0x409, 1200
    END
END

(주의) 리소스 파일을 작성할 때, 위와 같이 항목에 대한 내용을 입력할 때, 문장의 마지막에 "\0"을 넣어서 문자열의 끝을 알리도록 해야합니다.

그리고, dcc.exe 를 이용하여 리소스 파일을 컴파일 하여 *.res 파일을 생성하고, DLL 프로젝트에 {$R *.res}로 해당 리소스를 포함시키면 DLL에 버전 정보가 추가되어 있음을 확인할 수 있습니다.