Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#7

AW: Delphi XE's DCP format: Auslesen einiger Basisinformationen

  Alt 20. Sep 2022, 23:19
Bei den Russen findest du noch eine etwas brutalere Version von dem FlexT-Zeugs
http://hmelnov.icc.ru/geos/scripts/W...howR?DCU32.RFI

Ansonsten gibt es ein älteres Projektchen aus DCU32INT, was wohl aus diesem RFI generiert wurde (einige ältere und andere Dinge ala Kylix weggelassen)
https://github.com/rfrezino/DCU32INT...r/DCP.pas#L126

bzw.
https://www.delphipraxis.net/48587-dcp-format.html


Das Auslesen von Required und Contains ist schon recht einfach. (die Definition des FileHeaders und des Records für die Contains findest du hier in der kurzen RFI aus der #2)
Die zusätzlichen Unit-Infos sind perverser, aber die brauchtest du ja nicht. (deren Definition in der großen FlexT)

Bei mir hab ich nun auch das Kylix rausgeworfen und hab mir die Infos der FlexT zusammengefasst.
(eine Definition der Records mit allen Versionen und nicht je Version nebeneinander und Sonderfälle von Uraltversionen auch weg)



Achtung:
beim Lesen mit dem "aktuellen" Format folgen die Contains direkt auf den Requires und die Uses direkt nach den Contains,
aber falls sich das Format mal ändert (neue Werte angehängt)
solltest du besser die Adressen auslesen.
* Contains-Start und -Länge steht im FileHeader (TDCPHdr.pContains)
* und die jeweiligen UnitDefinitionen sind in den Contains-Items verlinkt (TUnitInfo.pData)
$2B or not $2B

Geändert von himitsu (21. Sep 2022 um 19:36 Uhr)
  Mit Zitat antworten Zitat