Avatar billede azs Nybegynder
29. juni 2001 - 18:42 Der er 1 løsning

Version nummer osv..

Hvordan er det lige at versions nummer osv bliver brugt?

Derved mener jeg at det første version man \"Releaser\" er version 1. Men \"Minor version\" og \"Build\" hvordan bliver det brugt ???

Bliver \"Miner version\" sat 1 gan op hver gang at \"build\" går over 100 eller hvordan er det ?

Og hvordan regner man sit \"build\" nummer ud ? Er det alle de komponenter man bruger eller er det alle procedure/funktioner der er i ens kode ?
Avatar billede pellelil Nybegynder
29. juni 2001 - 20:18 #1
Der er ikke nogen \"fast definition\" på hvordan man skal bruge Major, Minor, Release og Build. Ligeledes er så \"tælles\" de enkelte dele ikke op/ned efter et bestemt mønster.

\"I min bog\" så skal der \"noget til\" før man tæller Major op. I store træk så mener jeg ikke dette skal ske med mindre man skriver applikationen på ny, skifter database eller noget andet gennemgribende. Minor tæller jeg op hver gang jeg \"frigiver\" en ny version. Build tælles automatisk op hver eneste gang man beder Delphi om at Builde (så fremt man vælger dette i \"Project->Options->Version Info->Auto-Increment build number\").

Release bruger jeg (i forhold til så mange andre) at angiver hvorvidt min applikation er en \"normal\"-, alfa- eller beta-release. En alfa-release er en MEGET tidlig version som frigives (normalt til få personer) for at få en føling med hvordan den endelige version kan komme til at se ud. En beta-release frigives normalt på et senere tidspunkt (ofte få uger/måneder før den endelige version frigives) og ofte til en større skare af personer. Det er ofte beta-testernes opgave at \"teste\" programmet og give udviklerne/programmørene feedback.

Nedenstående er fra min Aboutbox\'s OnCreate hvor jeg \"henter\" og viser applikationens version:
<SNIP>
var
  iTmpWidth        : Integer;
  iMinWidth        : Integer;
  iMajor, iMinor  : Integer;
  iRelease, iBuild : Integer;
  dwVerInfoSize    : DWORD;
  pVerInfo        : Pointer;
  dwVerValueSize  : DWORD;
  VerValue        : PVSFixedFileInfo;
  dwDummy          : DWORD;
  VerInfoFileName  : String;
begin
  // Version info
  dwVerInfoSize := GetFileVersionInfoSize(PChar(ParamStr(0)), dwDummy);
  GetMem(pVerInfo, dwVerInfoSize);
  try
    GetFileVersionInfo(PChar(ParamStr(0)), 0, dwVerInfoSize, pVerInfo);
    VerQueryValue(pVerInfo, \'\\\', Pointer(VerValue), dwVerValueSize);
    with VerValue^ do begin
      iMajor  := dwFileVersionMS shr 16;
      iMinor  := dwFileVersionMS and $FFFF;
      iRelease := dwFileVersionLS shr 16;
      iBuild  := dwFileVersionLS and $FFFF;
    end;
  finally
    FreeMem(pVerInfo, dwVerInfoSize);
  end;
  // Set labels
  Caption := \'About\';
  LabelVersion.Caption := Format(\'%d.%2.2d\', [iMajor,iMinor]);
  if (iRelease > 0) and (iRelease < 27)
    then LabelVersion.Caption := LabelVersion.Caption + Chr(96+iRelease);
  LabelBuild.Caption  := Format(\'%4.4d\', [iBuild]);
end;
</SNIP>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester