Einzelnen Beitrag anzeigen

Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.175 Beiträge
 
Delphi 11 Alexandria
 
#24

Re: Versionsnummern seiner Anwendung unter Vista ermitteln?

  Alt 9. Feb 2007, 22:47
Hallo zusammen,
habe nun einiges probiert...
Auch den Source zuerst übernommen von Ralf und jetzt von mschaefer...(Danke an dieser Stelle für eure Mühen)

Bei mir will es aber einfach nicht funktionieren.
Ich habe jetzt das Projekt von mschaefer komplett in ein neues Projekt übernommen.

Delphi-Quellcode:
unit GetFileVersionTest;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    procedure Label1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
function GetFileVersion: string;
implementation

{$R *.dfm}

function GetFileVersion: string;
var
  Filename: string;
  Size, Size2: Cardinal;
  Buffer, Buffer2: pointer;
begin
  Result := '?';
  Filename := Application.ExeName;
  Size := GetFileVersionInfoSize(pchar(Filename), Cardinal(Buffer));
  GetMem(Buffer, Size);
  if Size > 0 then
  try
    if GetFileVersionInfo(pchar(Filename), 0, Size, Buffer) then
    begin
      if VerQueryValue(Buffer, '', Pointer(Buffer2), Size2) then
      begin
        with TVSFixedFileInfo(Buffer2^) do
        begin
          Result := inttostr(pword(integer(@dwFileVersionMS) + 2)^) + '.' +
            inttostr(pword(integer(@dwFileVersionMS) + 0)^) + '' +
            inttostr(pword(integer(@dwFileVersionLS) + 2)^) + ' - ' +
            inttostr(pword(integer(@dwFileVersionLS) + 0)^);
        end;
      end;
    end;
  finally
    Dispose(Buffer);
  end;
end;

procedure TForm1.Label1Click(Sender: TObject);
begin
  Label1.Caption := GetfileVersion
end;

end.
Und ratet mal: es funktioniert nicht, es erscheint nur das Fragezeichen....
Nehme ich das Projekt von mschaefer und kompiliere dieses, funktioniert es!!!
Ich sehe zw. meinem Projekt und dem Projekt von mschaefer keinen Unterschied! (außer dass ich mir den Button gespart habe...)

Was kann das denn noch sein?
Ich bin da nun ziemlich ratlos.

Für verständliche Ratschläge wäre ich sehr dankbar.

//Edit: Mir kam gerade noch eine Idee. Ich habe bis jetzt nur von der Original CD installiert, also noch keine SP... Hole ich gleich mal nach.
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat