![]() |
[gelöst] Programmversion von anderen Prgs auslesen (Unix)
Hallo,
ich habe ein eventuell nur kleines Problem. Ich müsste die Versionsnummer von einem anderen Programm auslesen, welches auch unter FreePascal (Lazarus bzw. CodeTyphon) erstellt wurde. Innerhalb meines Programms kann ich "meine" Versionnummer mit dieser Unit lesen: ![]() Aber ich finde leider nicht wie ich die Versionsnummer eines anderen Programms was ich auch geschrieben habe auslesen kann. Natürlich sind die anderen Programme auch mit Lazarus bzw. CodeTyphon erstellt worden und die Daten unter Projekteinstellungen/Versionsinformation sind eingestellt. Da ich unter Unix innerhalb meines Programms die Version lesen kann, müsste ich doch auch irgendwie an die Nummer eines anderen Programms kommen. Natürlich habe ich schon gegoogelt aber leider nichts gefunden. Vielen dank im voraus |
AW: Programmversion von anderen Prgs auslesen (Unix)
Du hast ein nur
Delphi-Quellcode:
und das will ein Handle.
procedure Load(Instance: THandle);
Im Windows gibt es z.B. ![]() womit man eine EXE, DLL oder BPL in seinen Prozess laden kann, ohne deren Code auszuführen. Sowas müsstest du für Unix finden, aber ich bin mir nicht sicher, ob im Unix die Dateien auch das PE-Format benutzen (glaub nicht .. ist wohl ELF oder so) und ob somit dort so garnicht die Version ausgelesen werden kann, weil sie anders gespeichert ist. Aber wenn/da das funktioniert, mußt du wohl nur noch rausfinden wie du an das Handle kommst. |
[gelöst] Programmversion von anderen Prgs auslesen (Unix)
Lösung: (Ja, ich habs gefunden :-D)
Delphi-Quellcode:
In uses muss noch resource, elfreader, versiontypes,versionresource,FileInfo
function TMyApplication.GetProgramVersion(ExeFileName: String) : String;
var FileVerInfo: TFileVersionInfo; begin FileVerInfo := TFileVersionInfo.Create(nil); try FileVerInfo.FileName := ExeFileName; FileVerInfo.ReadFileInfo; Result := FileVerInfo.VersionStrings.Values['FileVersion']; finally FileVerInfo.Free; end; end; Gruß und trotzdem danke! Gefunden auf ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:55 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