سؤال

ولدي عدد من المشاريع VC 6.0 (مزودي خدمات المعطيات) التي تبني في دلس التي لم يكن لديك ملفات الموارد. أي فكرة عن كيفية إضافة موارد إلى مشروع قائم؟

ومن المقرر إصدار رئيسي قريبا المشروع وأريد أن أضيف FILEVERSION لتلك دلس تفتقر حاليا واحدة. سيتم recompilied دلس قبل الافراج حتى أنا مجرد محاولة لجعل هذه مزودي خدمات المعطيات مثل جميع الآخرين لقد ورثت هذا المشروع (التي لديها ملف وإصدار المنتج الخ بحيث يمكننا ان نقول بسهولة بالضبط ما يعمل على الجهاز العميل.

وجواب واحد: إنشاء * .RC وملف RESOURCE.H (نسخة من مشروع آخر؟) وإضافتها إلى المجلد مصدر مشروع ypur في عرض ملف VC6. يتم إنشاء عرض مورد تلقائيا. شكرا لشباب مساعدتكم، أعطاني مؤشرات احتاجه.

هل كانت مفيدة؟

المحلول

وأضيف كتلة VERSIONINFO إلى ملف المورد لDLL.

وافتح الملف .rc، واستخدام "إدراج / الموارد ... / النسخة" وستحصل على مورد VERSIONINFO الجديد مع مجموعة من الافتراضات. إذا لم يكن لديك بالفعل مشروع ملف مورد، يمكنك إضافة واحد باستخدام "ملف / نيو ... / سيناريو الموارد".

إذا كنت تريد أن القوائم الخاصة بك، يتم إعطاء كتلة سبيل المثال VERSIONINFO على في الصفحة MSDN لVERSIONINFO :

#define VER_FILEVERSION             3,10,349,0
#define VER_FILEVERSION_STR         "3.10.349.0\0"

#define VER_PRODUCTVERSION          3,10,0,0
#define VER_PRODUCTVERSION_STR      "3.10\0"

#ifndef DEBUG
#define VER_DEBUG                   0
#else
#define VER_DEBUG                   VS_FF_DEBUG
#endif

VS_VERSION_INFO VERSIONINFO
FILEVERSION     VER_FILEVERSION
PRODUCTVERSION  VER_PRODUCTVERSION
FILEFLAGSMASK   VS_FFI_FILEFLAGSMASK
FILEFLAGS       (VER_PRIVATEBUILD|VER_PRERELEASE|VER_DEBUG)
FILEOS          VOS__WINDOWS32
FILETYPE        VFT_DLL
FILESUBTYPE     VFT2_UNKNOWN
BEGIN
    BLOCK "StringFileInfo"
    BEGIN
        BLOCK "040904E4"
        BEGIN
            VALUE "CompanyName",      VER_COMPANYNAME_STR
            VALUE "FileDescription",  VER_FILEDESCRIPTION_STR
            VALUE "FileVersion",      VER_FILEVERSION_STR
            VALUE "InternalName",     VER_INTERNALNAME_STR
            VALUE "LegalCopyright",   VER_LEGALCOPYRIGHT_STR
            VALUE "LegalTrademarks1", VER_LEGALTRADEMARKS1_STR
            VALUE "LegalTrademarks2", VER_LEGALTRADEMARKS2_STR
            VALUE "OriginalFilename", VER_ORIGINALFILENAME_STR
            VALUE "ProductName",      VER_PRODUCTNAME_STR
            VALUE "ProductVersion",   VER_PRODUCTVERSION_STR
        END
    END

    BLOCK "VarFileInfo"
    BEGIN
        /* The following line should only be modified for localized versions.     */
        /* It consists of any number of WORD,WORD pairs, with each pair           */
        /* describing a language,codepage combination supported by the file.      */
        /*                                                                        */
        /* For example, a file might have values "0x409,1252" indicating that it  */
        /* supports English language (0x409) in the Windows ANSI codepage (1252). */

        VALUE "Translation", 0x409, 1252

    END
END

نصائح أخرى

ويمكنك دائما محاولة استخدام editbin /VERSION:#[.#] تغيير إصدار داخل دلل نفسه. خلاف ذلك، ينبغي أن يكون إدخال في ملف المورد للمشروع.

وباتريك، فعلت إضافة كتلة VERSIONINFO إضافة الواقع الإصدارات إلى DLL الخاص بك؟ والفعلية أعني عندما كنت تحوم الماوس فوق ثنائي يفعل المنبثقة الإصدارات ... أو بزر الماوس الأيمن فوق> خصائص> التفاصيل يظهر أي الإصدارات إما ...

وهذا يعمل لإكس (ق)، ولكن كلما أضيف VERSIONINFO كتل لشيء مكتبة يظهر.

وEB

حسنا، أعتقد أنني سوف تتقاسم جهلي اليوم ... يبدو أن هذا إصدارات يعمل فقط حقا للإكس (ق) ودلل (ق) حتى ينتهي أملي في استخدامه على مكتبات ثابتة لإلقاء نظرة سريعة من الإصدارات

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top