Ako sa informácie o verzii prírastok po každej stavať do Visual c ++

DÔLEŽITÉ: Tento článok bol preložený pomocou softvéru na strojový preklad od spoločnosti Microsoft, nie prekladateľom. Spoločnosť Microsoft ponúka články preložené prekladateľmi aj strojovo preložené články, vďaka čomu máte možnosť prístupu ku všetkým článkom databázy Knowledge Base vo svojom jazyku. Strojovo preložený článok však nie je vždy perfektný. Môže obsahovať chyby týkajúce sa slovnej zásoby, syntaxe alebo gramatiky, podobne ako cudzinec môže robiť chyby, keď rozpráva vašim jazykom. Spoločnosť Microsoft nenesie zodpovednosť za akékoľvek nepresnosti, chyby alebo škody spôsobené akýmkoľvek nepresným prekladom obsahu alebo jeho použitím zo strany zákazníkov. Spoločnosť Microsoft softvér na strojový preklad pravidelne aktualizuje.

Pokiaľ chcete vidieť anglickú verziu článku, kliknite sem:237870
Tento článok bol archivovaný. Je publikovaný v aktuálnej podobe a už nebude aktualizovaný.
SUHRN
Visual C++ nemá funkcia automaticky narastal informácie o verzii zdroj vášho projektu po každom stavať. Tento článok popisuje jeden spôsob, ako poskytnúť takú vlastnosť.
DALSIE INFORMACIE
Môžete napísať program zmeniť zdroj kompilátor (.rc) súbor namiesto pomocou kroky popísané tu. Avšak, RC súbor je pod kontrolou Visual C++. Visual C++ upravuje RC súbor po─ìas ukladania, a to môže ovplyvniť verzia zdrojov. Podľa postupu uvedeného v tomto oddiele sa dajú použiť pre akýkoľvek projekt, Visual C++. Tento príklad používa Microsoft základ tried projektu.

Vytvoriť nový projekt pomocou Appwizard MFC (EXE) a hovoria MyProject. MyProject bude mať MyProject.rc súbor, ktorý obsahuje MyProject.rc2. Súbor .rc2 je určený pre používateľom definovaný zdrojov. Postupujte podľa týchto krokov narastal MyProject je verzia informácie po každej stavať:
  1. Verzia prostriedok odstrániť zo súboru .rc a umiestnite ju do súboru .rc2:

    1. Otvorte MyProject.rc a MyProject.rc2 (nájsť v priečinku Res), v textovom editore. Pomocou editora Visual C++, kliknite na tlačidlo Otvorené na Súbor menu a vyberte Text v Otvorená ako zoznam MyProject.rc súboru.
    2. Nájsť verziu zdrojov vyhlásenia MyProject.rc. To by mal vyzerať takto:
      /////////////////////////////////////////////////////////////////////// // // Version// VS_VERSION_INFO VERSIONINFO FILEVERSION 1,0,0,1 PRODUCTVERSION 1,0,0,1 FILEFLAGSMASK 0x3fL#ifdef _DEBUG FILEFLAGS 0x1L#else FILEFLAGS 0x0L#endif FILEOS 0x4L FILETYPE 0x1L FILESUBTYPE 0x0LBEGIN    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    ENDEND							
    3. Vystrihnúť verzia zdrojov zo súboru MyProject.rc a prilepte ju do súboru MyProject.rc2 nižšie komentár "Pridať manuálne upravili tu zdrojov." Ak sa chcete dozvedieť, ako to, čo každý z polí v prostriedku znamená, nájdete VERSIONINFO zdroja v Pomocníkovi.
  2. Údaje o FILEVERSION a PRODUCTVERSION nahraďte makrá FILEVER a PRODUCTVER. Podobne, nahraďte reťazec údaje o FileVersion a ProductVersion makrá, STRFILEVER a STRPRODUCTVER.
  3. Pridať # zahŕňajú VersionNo.h bezprostredne pred VS_VERSION_INFO zdrojov výkaz. Teraz verziu zdrojov bude vyzerať takto:
    /////////////////////////////////////////////////////////////////////// // // Version// #include "VersionNo.h"VS_VERSION_INFO VERSIONINFO FILEVERSION FILEVER PRODUCTVERSION PRODUCTVER FILEFLAGSMASK 0x3fL#ifdef _DEBUG FILEFLAGS 0x1L#else FILEFLAGS 0x0L#endif FILEOS 0x4L FILETYPE 0x1L FILESUBTYPE 0x0LBEGIN    BLOCK "StringFileInfo"    BEGIN        BLOCK "040904b0"        BEGIN            VALUE "Comments", "Sample Application\0"            VALUE "CompanyName", "Microsoft Corp.\0"            VALUE "FileDescription", "MyProject MFC Application\0"            VALUE "FileVersion", STRFILEVER            VALUE "InternalName", "MyProject\0"            VALUE "LegalCopyright", "Copyright (C) 1997\0"            VALUE "OriginalFilename", "MyProject.EXE\0"            VALUE "ProductName", "MyProject Application\0"            VALUE "ProductVersion", STRPRODUCTVER        END    END    BLOCK "VarFileInfo"    BEGIN        VALUE "Translation", 0x409, 1200    ENDEND					
  4. Vytvorte hlavičku súbor s názvom VersionNo.h v rovnakom adresári ako váš projekt. Tento súbor bude obsahovať nasledujúce vyhlásenie, ktoré sú definície pre makrá použité v kroku 2:
    #define FILEVER        1,0,0,1#define PRODUCTVER     1,0,0,1#define STRFILEVER     "1, 0, 0, 1\0"#define STRPRODUCTVER  "1, 0, 0, 1\0"						
    Poznámka: Pridať obyčajný a prepravu návratky znaky v poslednom riadku.

    Teraz, MyProject.rc súbor obsahuje MyProject.rc2 a MyProject.rc2 súbor obsahuje VersionNo.h.
  5. Obsah súboru VersionNo.h sa upravia pomocou makra programu Visual Basic Script. Makro popísané nižšie rukoväte Visual C++ BuildFinish udalosť, takže to bude, nie vyhozen, kým dokončí stavať. Vždy, keď sa nazýva tento skript VB kód, najprv inkrementuje čísla verzií vo vnútri hlavička súboru o pevnú čiastku, potom sa súbor uloží a zatvorí. Počas následných stavať, číslo novej verzie je súčasťou spustiteľný.

    Nainštalovať a používať kód skriptu VB, vykonajte nasledovné:

    1. Otvorte existujúci súbor DSM (makro) alebo vytvorte nový súbor DSM v Visual C++. Ak chcete vytvoriť nový súbor, kliknite na tlačidlo Nové na Súbor menu vyberte Makro súbor na Súbory karte, pomenujte ho a kliknite na ok.
    2. Prilepte nasledujúci skript VB kód nižšie (prázdny DSM súbor nemožno nainštalovať v Visual C++; ďalší krok vysvetľuje inštalácia):
      Function GetProjectDir(FullName)'VC++ doesn't provide any method for getting the path of the active project'See the VB Script reference for more information on the VB Script functions 'used in this functionDim proj_pathproj_path = Split(StrReverse(FullName),"\",-1,1)Dim countcount = UBound(proj_path)Dim full_pathfull_path = ""Dim ifor i = 1 to count 	full_path = full_path & "\" & proj_path(i)nextGetProjectDir = StrReverse(full_path)End FunctionSub ReplaceText(selection, count, incrementby)'selection represents the TextSelection object'count represents the position of the version number to be incremented'incrementby represents a number that will be added to the existing version numberselection.WordRight dsMove, countselection.WordRight dsExtend, 1Dim strstr = selection.Textstr = str + incrementbyselection.Text = strEnd SubSub Application_BuildFinish(numError, numWarning)'This event will be triggered after every build of a project'You can check numError and/or numWarning to determine if you want to continue'If numError <> 0 Then    'exit sub'Obtain the full path of the active projectDim full_pathfull_path = GetProjectDir(ActiveProject.FullName)full_path = full_path & "versionno.h"'Open the VersionNo.h fileDocuments.Open full_path'Obtain the TextSelection objectDim selectionset selection = ActiveDocument.Selectionselection.StartOfDocument 'Increment the version informationReplaceText selection, 9, 1selection.LineDownselection.StartOfLineReplaceText selection, 9, 1selection.LineDownselection.StartOfLineReplaceText selection, 10, 1selection.LineDownselection.StartOfLineReplaceText selection, 10, 1ActiveDocument.SaveActiveDocument.Close End Sub								
      POZNÁMKA: Tento kód je nepodporované vzorky. Možno ho upraviť pre vaše stavať scenár.
    3. DSM súbor nainštalovať, ak už nie je nainštalovaný. Ak chcete nainštalovať, kliknite na tlačidlo Prispôsobiť na Nástroje ponuky, kliknite na tlačidlo Doplnkov a makier súbory na karte Prehľadávať vyberte DSM súbor a kliknite na tlačidlo Zatvorte.
  6. Vyberte Vybudovať MyProject.exe z Vybudovať ponuka. Po dokončení stavať, otvorte súbor VersionNo.h. Bude obsahovať nasledujúce vyhlásenie:
    #define FILEVER        1,0,0,2#define PRODUCTVER     1,0,0,2#define STRFILEVER     "1, 0, 0, 2\0"#define STRPRODUCTVER  "1, 0, 0, 2\0"						
    Ak budete stavať kód opäť, táto verzia informácie v zahrnuté v spustiteľný a informácie o verzii zvýši. Môžu zaviesť niektoré kód makra popísané vyššie na zabránenie incrementing čísla verzií, ak stavať vyrába chyby.
ODKAZY
Ďalšie informácie o objektového modelu Visual C++ pozri nasledujúcu tému na lokalite MSDN Library:
Ďalšie informácie o VB Script makrá, pozri nasledujúcu tému na lokalite MSDN Library:
Ďalšie informácie o VB Script jazykom, pozri nasledujúcu tému na lokalite MSDN Library:
Pre viac informácií o výkaze Visual C++ VERSIONINFO zdrojov, pozri nasledujúcu tému na lokalite MSDN Library:

Upozornenie: Tento článok bol preložený automaticky.

Vlastnosti

ID článku: 237870 – Posledná kontrola: 12/05/2015 15:18:17 – Revízia: 2.0

Microsoft Visual C++ 5.0 Enterprise Edition, Microsoft Visual C++ 5.0 Professional Edition

  • kbnosurvey kbarchive kbautomation kbdevstudio kbhowto kbide kbscript kbvcobj kbmt KB237870 KbMtsk
Pripomienky