AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Delphi 10.2 Tokyo Starter

Ein Thema von Turbo78 · begonnen am 6. Jul 2017 · letzter Beitrag vom 11. Aug 2017
Antwort Antwort
Seite 2 von 3     12 3   
Turbo78

Registriert seit: 19. Apr 2010
Ort: Neuried
32 Beiträge
 
Delphi 7 Enterprise
 
#11

AW: Delphi 10.2 Tokyo Starter

  Alt 26. Jul 2017, 21:44
Es gelingt mir nicht die VersionInfo einzulesen.
Ich habe mit beiden Infostrings ausprobiert, aber es liegt anscheinlich an was anderen.
Hat jemand eine Idee, warum die Funktion in Delphi 10 nicht funktioniert?

Danke in Voraus,
Toni

Diese Prozedur funktioniert unter Delphi 7:
Delphi-Quellcode:
  Procedure SetupProgramVersionData;

    const
      InfoNum = 10;
      InfoStr: array[1..InfoNum] of string =
(* *)
        ('CompanyName', 'FileDescription', 'FileVersion',
         'InternalName', 'LegalCopyright', 'LegalTradeMarks',
         'OriginalFileName', 'ProductName', 'ProductVersion', 'Comments');
(*
        ('Firmenname', 'Beschreibung', 'Dateiversion',
        'InternerName', 'Copyright', 'Warenzeichen',
        'Originaldateiname', 'Produktname', 'Produktversion', 'Kommentare');
*)

    var
      S: string;
      n, Len, i: DWORD;
      Buf: PChar;
      Value: PChar;
      ValueStr: array[1..InfoNum] of string;
    begin // SetupProgramVersionData
      S := Application.ExeName;
      n := GetFileVersionInfoSize(PChar(S), n);
      if n > 0 then begin
        Buf := AllocMem(n);
        GetFileVersionInfo(PChar(S), 0, n, Buf);

        for i := 1 to InfoNum do
          if VerQueryValue(Buf, PChar('StringFileInfo\040704E4\' + InfoStr[i]), Pointer(Value), Len) then begin
            ValueStr[i] := Value;
            end;
        FreeMem(Buf, n);

    end; // SetupProgramVersionData
  Mit Zitat antworten Zitat
Glados
(Gast)

n/a Beiträge
 
#12

AW: Delphi 10.2 Tokyo Starter

  Alt 26. Jul 2017, 21:59
Versuchs mal hiermit

Delphi-Quellcode:

function getVersionInfo(FileName, InfoStr: string; const withBuild: Boolean = False): string;
var
 VersionInfoSize, VerInfoSize, GetInfoSizeJunk: DWORD;
 VersionInfo, Translation, InfoPointer: Pointer;
 VersionValue, tmpRes: string;
begin
 Result := '';

 VerInfoSize := GetFileVersionInfoSize(PChar(FileName), GetInfoSizeJunk);

 if VerInfoSize > 0 then
  begin
   GetMem(VersionInfo, VerInfoSize);

   try
    GetFileVersionInfo(PChar(FileName), 0, VerInfoSize, VersionInfo);

    VerQueryValue(VersionInfo, '\\VarFileInfo\\Translation', Translation, VerInfoSize);
    VersionValue := '\\StringFileInfo\\' + IntToHex(LoWord(Integer(Translation^)), 4) + IntToHex(HiWord(Integer(Translation^)), 4) + '\\';
    VersionInfoSize := 0;

    if InfoStr = 'Buildthen
     begin
      VerQueryValue(VersionInfo, PChar(VersionValue + 'FileVersion'), InfoPointer, VersionInfoSize);
      tmpRes := PChar(InfoPointer);
      tmpRes := Copy(tmpRes, LastDelimiter('.', tmpRes) + 1, Length(tmpRes));
     end
    else
     begin
      VerQueryValue(VersionInfo, PChar(VersionValue + InfoStr), InfoPointer, VersionInfoSize);
      tmpRes := PChar(InfoPointer);
      if (InfoStr = 'FileVersion') and (not withBuild) then
       tmpRes := Copy(tmpRes, 1, LastDelimiter('.', tmpRes) - 1);
     end;

    Result := tmpRes;
   finally
    FreeMem(VersionInfo);
   end;
  end;
end;

... := getVersionInfo(ParamStr(0), 'FileVersion');
... := getVersionInfo(ParamStr(0), 'LegalCopyright');
... := getVersionInfo(ParamStr(0), 'Build');
Geht sicher schöner. Könnt ihr ja vielleicht schöner machen, ich wüsste nicht wie. Aber es funktioniert perfekt von Windows XP bis Windows 10.
  Mit Zitat antworten Zitat
Turbo78

Registriert seit: 19. Apr 2010
Ort: Neuried
32 Beiträge
 
Delphi 7 Enterprise
 
#13

AW: Delphi 10.2 Tokyo Starter

  Alt 27. Jul 2017, 23:13
Vielen Dank!
Ich habe es nicht ganz übernommen, sondern nur die Hex-Konstante 040704E4 in 040904E4
(das ist das Ergebnis von IntToHex(LoWord(Integer(Translation^)), 4) + IntToHex(HiWord(Integer(Translation^)), 4) )
angepasst.

Ich habe eine weitere Frage bezüglich Conditional Compilation.
In Borland Delphi 7 konnte man unter Project/Options $DEFINE 'name' eintragen. Im Delphi 10 wird diese Anweisung beim übersetzen ignoriert.
Wie macht man es beim Delphi 10 richtig?

Danke in Voraus,
Toni
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.287 Beiträge
 
Delphi 11 Alexandria
 
#14

AW: Delphi 10.2 Tokyo Starter

  Alt 27. Jul 2017, 23:20
In Borland Delphi 7 konnte man unter Project/Options $DEFINE 'name' eintragen. Im Delphi 10 wird diese Anweisung beim übersetzen ignoriert.
Wie macht man es beim Delphi 10 richtig?
Dort haben wir auch Defines eingetragen. Das funktioniert auch.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Turbo78

Registriert seit: 19. Apr 2010
Ort: Neuried
32 Beiträge
 
Delphi 7 Enterprise
 
#15

AW: Delphi 10.2 Tokyo Starter

  Alt 11. Aug 2017, 10:14
Gibt es in Delöphi 10 Schnittstelle zu EXCEL (eigentlich Office?) ?
Falls ja, wie wird in Delphi 10 mit EXCEL gearbeitet.

Im Delphi7 gab es Schnittstellen-Dateien für Office mit Deklarationen von Konstanten und Funktionsaufrufen.

Danke in Voraus, Toni
  Mit Zitat antworten Zitat
Der schöne Günther
Online

Registriert seit: 6. Mär 2013
6.092 Beiträge
 
Delphi 10 Seattle Enterprise
 
#16

AW: Delphi 10.2 Tokyo Starter

  Alt 11. Aug 2017, 10:18
Die Office-Komponenten sind noch dabei (zumindest waren sie das um XE 7 herum noch), man muss sie aber von Hand installieren:

http://francois-piette.blogspot.de/2...omponents.html
  Mit Zitat antworten Zitat
Turbo78

Registriert seit: 19. Apr 2010
Ort: Neuried
32 Beiträge
 
Delphi 7 Enterprise
 
#17

AW: Delphi 10.2 Tokyo Starter

  Alt 11. Aug 2017, 10:19
In Borland Delphi 7 konnte man unter Project/Options $DEFINE 'name' eintragen. Im Delphi 10 wird diese Anweisung beim übersetzen ignoriert.
Wie macht man es beim Delphi 10 richtig?
Dort haben wir auch Defines eingetragen. Das funktioniert auch.
Bei mir funktioniert es nicht - die Defines werden ignoriert.
  Mit Zitat antworten Zitat
Turbo78

Registriert seit: 19. Apr 2010
Ort: Neuried
32 Beiträge
 
Delphi 7 Enterprise
 
#18

AW: Delphi 10.2 Tokyo Starter

  Alt 11. Aug 2017, 10:28
Die Office-Komponenten sind noch dabei (zumindest waren sie das um XE 7 herum noch), man muss sie aber von Hand installieren:

http://francois-piette.blogspot.de/2...omponents.html
Sind leider nicht bei Delphi 10.2 Tokyo Starter
  Mit Zitat antworten Zitat
Turbo78

Registriert seit: 19. Apr 2010
Ort: Neuried
32 Beiträge
 
Delphi 7 Enterprise
 
#19

AW: Delphi 10.2 Tokyo Starter

  Alt 11. Aug 2017, 16:17
Gibt es die Beschreibung von Delphi 10.2 Tokyo Starter Features ?
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.610 Beiträge
 
Delphi 10.3 Rio
 
#20

AW: Delphi 10.2 Tokyo Starter

  Alt 11. Aug 2017, 16:28
Gibt es die Beschreibung von Delphi 10.2 Tokyo Starter Features ?
Jep. Hier.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 15:34 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