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
Antwort Antwort
Seite 3 von 3     123   
Pfoto

Registriert seit: 26. Aug 2005
Ort: Daun
541 Beiträge
 
Turbo Delphi für Win32
 
#21

Re: Versionsnummern seiner Anwendung unter Vista ermitteln?

  Alt 7. Feb 2007, 08:14
Klasse, vielen Dank für's Posten!

Gruß
Pfoto
Jürgen Höfs
  Mit Zitat antworten Zitat
Benutzerbild von Daniel Schuhmann
Daniel Schuhmann

Registriert seit: 16. Jul 2005
Ort: München
391 Beiträge
 
Turbo Delphi für Win32
 
#22

Re: Versionsnummern seiner Anwendung unter Vista ermitteln?

  Alt 7. Feb 2007, 09:16
OT (@Jürgens Download): Ich hoffe, dass jetzt nicht innerhalb kürzester Zeit 50% der neuen Tools über geskinnte Oberflächen verfügen, die auch unter XP aussehen wie bei Vista. Abgesehen davon, dass diese Programme gerade mit schwachbrünstigen Grafikkarten (Notebooks...) langsam werden und wie Kaugummi reagieren - wer die visuellen Styles ausschalten möchte (und das geht auch unter Vista), der hat sicherlich auch seinen Grund dazu.
Daniel Schuhmann
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.029 Beiträge
 
Delphi XE3 Enterprise
 
#23

Re: Versionsnummern seiner Anwendung unter Vista ermitteln?

  Alt 7. Feb 2007, 10:49
Moin moin zusammen. Im Anhang ist die D6-Version von Ralfs GetFileVersion. // Grüße Martin
Angehängte Dateien
Dateityp: zip getfileversion_d6_189.zip (197,0 KB, 13x aufgerufen)
Martin Schaefer
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.164 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
Benutzerbild von juergen
juergen

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

Re: Versionsnummern seiner Anwendung unter Vista ermitteln?

  Alt 15. Feb 2007, 18:30
Hallo zusammen,

die Lösung des Problemes welches ich hatte, will ich hier nicht vorenthalten; evtl. geht es anderen ja noch genauso.

Ein unter Windows XP erstelltes Projekte kopiere ich komplett nach VISTA.
In den Projekteigenschaften wo die Versionsnummer steht, hatte ich unter Windows XP dann auch einen Kommentar hinterlegt.
Genau hier lag das Problem. Bei mir wird unter VISTA der Kommentar falsch übernommen!
Es standen tausende von sinnlosen Zeichen drin. Der Originaltext bestand aber weiter
-deswegen hatte ich es ja auch nicht sofort finden können-
aber "hintendran" am Kommentar folgten dann tausende sinnloser Zeichen.Im Projekteigenschafts-Fenster sieht man ja erst einmal nur einen Teil des Kommentars.

Das Problem war also NICHT "GetFileVersion", sondern das D7 die Projekteigenschaften nicht mit kompilieren konnte, wegen dem falsch "konvertierten" Komentar.

Auszugsweise "einige" der Zeichen, welche bei mir im Kommnetar mit standen:

... (BinÃÃÃ⠀ ’†â€ ™Ãƒâââ⠂¬Å¡Ã‚¬Ã‚ ÃƒÂ¢...........
Jürgen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 23:45 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz