AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Versionsnummern seiner Anwendung unter Vista ermitteln?
Thema durchsuchen
Ansicht
Themen-Optionen

Versionsnummern seiner Anwendung unter Vista ermitteln?

Ein Thema von juergen · begonnen am 28. Jan 2007 · letzter Beitrag vom 15. Feb 2007
 
Benutzerbild von juergen
juergen

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

Re: Versionsnummern seiner Anwendung unter Vista ermitteln?

  Alt 9. Feb 2007, 21: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
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:44 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz