AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Wo ist das Delphi-Unitformat dokumentiert?
Thema durchsuchen
Ansicht
Themen-Optionen

Wo ist das Delphi-Unitformat dokumentiert?

Ein Thema von Nintendo · begonnen am 20. Apr 2012 · letzter Beitrag vom 20. Apr 2012
Antwort Antwort
Nintendo

Registriert seit: 16. Feb 2009
82 Beiträge
 
#1

Wo ist das Delphi-Unitformat dokumentiert?

  Alt 20. Apr 2012, 00:37
Halloo,

soeben habe ich einen Thread zur Frage der Delphi eigenen Codevervollständigung eröffnet. Die Synedit Komponenten bieten hierzu mit SynAUtoComplete und SynCompletionProposal interessante Vorarbeit.

Nur muss ich für die Zweitgenannte Komponente die Member derjenigen Klasse, die ich in einer Liste angezeigt haben will, vorher in diese Liste bringen. Quellcode könnte ich mit einem Parser analysieren. Delphi hat aber Units im Binärformat. In meinem Delphi 7 Personal fehlen die VCL Quelltexte. Dennoch kann mir Delphi diese Liste anzeigen. ALso muss der Compiler, richtiger dessen Parser die Interfacetabelle der übersetzten Units verwenden und von dort die Bezeichner liefern.

Wie aber sieht das Binärformat unserer Units konkret aus?

Wo gibt es dazu Informationen, möglichst praxisnah und gut verständlich?

Hier ist der andere Thread:
.http://www.delphipraxis.net/167811-c...rammieren.html

Geändert von Nintendo (20. Apr 2012 um 00:44 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von chaosben
chaosben

Registriert seit: 27. Apr 2005
Ort: Görlitz
1.358 Beiträge
 
Delphi XE2 Professional
 
#2

AW: Wo ist das Delphi-Unitformat dokumentiert?

  Alt 20. Apr 2012, 06:48
DCU32INT konvertiert dcu's wieder zurück in Pascal-Code. Das könntest du dann wieder parsen.
Benjamin Schwarze
If I have seen further it is by standing on the shoulders of Giants. (Isaac Newton)

Geändert von chaosben (20. Apr 2012 um 10:01 Uhr)
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.006 Beiträge
 
Delphi 2009 Professional
 
#3

AW: Wo ist das Delphi-Unitformat dokumentiert?

  Alt 20. Apr 2012, 07:10
ALso muss der Compiler, richtiger dessen Parser die Interfacetabelle der übersetzten Units verwenden und von dort die Bezeichner liefern.
Es gibt als Ansatzpunkte RTTI (Run-time Type Information)und Debug-Symboldateien, die von diversen Tools benutzt werden. Properties kann man mit RTTI ansprechen, ab Delphi 2010 mit Extended RTTI, davor deutlich eingeschränkter. In beiden Fällen ist der Parser nicht beteiligt (der Delphi Parser kann keine kompilierten Units parsen).
Michael Justin
  Mit Zitat antworten Zitat
Benutzerbild von Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Frankfurt am Main
1.234 Beiträge
 
#4

AW: Wo ist das Delphi-Unitformat dokumentiert?

  Alt 20. Apr 2012, 07:35
DCU32int konvertiert dcu's wieder zurück in Pascal-Code. Das könntest du dann wieder parsen.
Aaah, danke. Sehr interessant finde ich dort das hier (mit Doku hier). Und das Icon auf der Seite weckt Erinnerungen *schwärm*
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)
  Mit Zitat antworten Zitat
Nintendo

Registriert seit: 16. Feb 2009
82 Beiträge
 
#5

AW: Wo ist das Delphi-Unitformat dokumentiert?

  Alt 20. Apr 2012, 11:59
Danke Euch!

Ich habe mir die DCU32INT runter geladen. Werde besser dann parsen, da diese Codevervollständigung später auch mit anderen Programmiersparachen funktionieren soll.

Aber möglicherweise verwendet der Delphi Compiler bei den bereits kompilierten Units RTTI und Debugsymbolinformation. Aber dieser Compiler kennt ja darüber hinaus auch sein Unitformat.

Werd mich jetzt erst mal an die Lektüre machen. Quelltextstudium, Dokus von Asserbad, etc.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Wo ist das Delphi-Unitformat dokumentiert?

  Alt 20. Apr 2012, 12:16
An die RTTI einer nicht "geladenen" Unit rankommen?
OK, möglich, aber dann muß man diese RTTI auch selber parsen und kann schlecht nicht die normalen RTTI-Funktionen/Klassen verwenden.

Ich hätte eher gedacht, daß man über die Open Tools API (OTA) an solche Infos rankommt, aber diese kann man ehn ur über ein IDE-Plugin nutzen, also nicht in einem eigenständigen Programm.
$2B or not $2B
  Mit Zitat antworten Zitat
Antwort Antwort


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 07:56 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