Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Textkonstante aus exe-Datei auslesen (https://www.delphipraxis.net/164608-textkonstante-aus-exe-datei-auslesen.html)

HDDat 21. Nov 2011 16:54

Textkonstante aus exe-Datei auslesen
 
Hallo Delphigemeinde,

ich habe da folgendes Problem ...

Eine in einer Unit deklarierte Textkonstante soll auch von externen Programmen ausgelesen werden können.

z.B. über die Versionsinformationen wäre das möglich, denn die Direktive {$DESCRIPTION 'Text ...'} funktionieren würde!

Von Hand möchte ich die Information nicht in den Versionsdaten eintragen, diese häufig wechselt und jedesmal in alle betroffenen Programme eingetragen werden müsste.

Vielleicht könnt Ihr mal die Direktive {$DESCRIPTION 'Text ...'} bei euch testen.

HDDat

himitsu 21. Nov 2011 17:01

AW: Textkonstante aus exe-Datei auslesen
 
Delphi-Quellcode:
{$DESCRIPTION ''}
hat absolut nichts mit den Versions-Resourcen zu tun.
Wie in der OH auch beschrieben, wird der Text in den EXE-Header geschrieben und nicht in die Resourcen.

Du mußt also den EXE-Header auslesen.
Tipp: Schau dir mal die Codes an, welche das Comlilierungsdatum der EXE auslesen, denn jene Info kommt auch aus diesen File-Headern.

Oder du erstellst dir selber eine Versions-Resource (dafür muß aber die Resource vom delphi deaktiviert sein)
Beispiel: siehe .RC im Hier im Forum suchenManifest-Creator

Alternativ kannst du auch einfach eine andere/neue String-Resource erstellen und kommst dabei nicht in Konflikt mit der Versions-Resource.

PS:
Delphi-Quellcode:
ResourceString XYZ = 'DeinMarker:' + 'der Text';
Dieses erstellt von Seiten des Delphi-Quellcodes eine String-Resource, in den String-Listen der Resourcen.
Allerdings sind diese (automatischen) StringListen nicht mit einem Namen versehn und dazu auch noch "willkührlich" durchnummeriert (je 16 Strings in einer Liste) ... du müßtest also alle Listen durchgehn und nach dem "Marker" suchen.
(bei einer selbstangelegen Resource hättest du dieses Problem nicht)

HDDat 22. Nov 2011 11:19

AW: Textkonstante aus exe-Datei auslesen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo an alle,

noch einmal zu meinem Problem ...

@himitsu: Vielen Dank für die Aufklärung bzgl. Exe-Header und Ressourcen. Leider war es mir nicht möglich die gewünschte Information {$DESCRIPTION '...'} mit irgend einem Programmteil oder externen Tool auszulesen.
Wenn man die Exe-Datei in ASCII anschaut, findet man den Description-Text wieder!

In fogenden Headern ist die Description-Information nicht enthalten: IMAGE_DOS_HEADER, IMAGE_FILE_HEADER, IMAGE_OPTIONAL_HEADER

Vielleicht hat noch jemand eine Idee wie man diese Information auslesen kann??

Ansonsten stellt sich die Frage wozu ist diese Information gut ??

HDDat


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