Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   CNPack LastCompiledTime (https://www.delphipraxis.net/153564-cnpack-lastcompiledtime.html)

waldforest 8. Aug 2010 18:05

CNPack LastCompiledTime
 
Hallo,
ich nutze unter Delphi7 das CNPack. Hier kann man aktivieren, dass in der Dateiinfo das
LastCompiledTime eingebunden wird.

Wie kann ich dies nun in meiner GetFileVersion Funktion abfragen ?

himitsu 8. Aug 2010 18:48

AW: CNPack LastCompiledTime
 
Das Datum compiliert Delphi auch so schon mit ein (nur an anderer/falscher Stelle)

Der Code ließt erst die "normale" Stelle im WinNT-Image-File-Header aus, prüft ob dort eine gewisses Pseudodatum (BorlandMagicTimeStamp) rumgammelt.
Falls nicht, dann steht da vermutlich eine gültige Zeit und diese wird ausgegeben.
Und wenn doch dieser Borland-Wert vorliegt, dann hangelt sich der Code weiter zur anderen Stelle durch, wo dann der Wert von Borland/Delphi gespeichert ist.

http://www.michael-puff.de/Programmi...imeStamp.shtml
Hier im Forum suchenGetImageLinkTimeStamp

waldforest 8. Aug 2010 19:05

AW: CNPack LastCompiledTime
 
Danke,

ist aufwändig, aber funktioniert.

himitsu 8. Aug 2010 19:25

AW: CNPack LastCompiledTime
 
Wenn das CNPack wirklich den Wert im NT-Header setzt, dann könnte man einen (Groß)teil weglassen.

Luckie 8. Aug 2010 19:37

AW: CNPack LastCompiledTime
 
Ich wollte noch anmerken, dass der Code von Nico ist, auch wenn ich ihn auf meiner Seite veröffentlicht habe.

waldforest 9. Aug 2010 17:43

AW: CNPack LastCompiledTime
 
Hallo,
ich habs mal getestet.

Lediglich

Delphi-Quellcode:
// Read MS-DOS header to get the offset of the PE32 header
    // (not required on WinNT based systems - but mostly available)
    if not ReadFile(FileHandle, ImageDosHeader, SizeOf(TImageDosHeader),
      BytesRead, nil) or (BytesRead <> SizeOf(TImageDosHeader)) or
      (ImageDosHeader.e_magic <> IMAGE_DOS_SIGNATURE) then
    begin
      ImageDosHeader._lfanew := 0;
    end;
wird benötigt


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:21 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