AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Compileranweisung $I auflösen

Ein Thema von TBx · begonnen am 18. Apr 2006 · letzter Beitrag vom 18. Apr 2006
Antwort Antwort
Seite 1 von 2  1 2      
TBx
(Administrator)

Registriert seit: 13. Jul 2005
Ort: Stadthagen
1.889 Beiträge
 
Delphi 12 Athens
 
#1

Compileranweisung $I auflösen

  Alt 18. Apr 2006, 10:26
Hallo!

Ich suche eine Möglickheit, mir einen Quellcode, der aus diversen Includes besteht lesbar zu machen.
Zu diesem Zweck möchte ich mir eine Datei ausgeben, in der statt des
{$I Object.imp} der entsprechende Dateiinhalt steht.

Kennt jemand ein Programm, daß mir eine solche Ausgabe generiert?

Oder ist das evtl. auch mit Delphi Bordmitteln machbar?
Der Compiler löst das ja auch auf, leider habe ich aber keine Einstellung gefunden, mit der ich den zusammengefügten Quelltext ausgeben kann.


Greetz

Thomas
Thomas Breitkreuz
  Mit Zitat antworten Zitat
Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#2

Re: Compileranweisung $I auflösen

  Alt 18. Apr 2006, 10:46
Wofür braucht man in einer OO-Sprache includes?
Also für Code meine ich. Compiler direktiven sind ja was anderes.
Includes sind doch eigentlich die krasseste Ausprägung von Coderedundanz...
Robert Giesecke
I’m a great believer in “Occam’s Razor,” the principle which says:
“If you say something complicated, I’ll slit your throat.”
  Mit Zitat antworten Zitat
Benutzerbild von Shivan
Shivan

Registriert seit: 5. Mär 2003
Ort: Ravensburg
131 Beiträge
 
Delphi 6 Enterprise
 
#3

Re: Compileranweisung $I auflösen

  Alt 18. Apr 2006, 11:05
Hi,

ich habe ein solches Tool mal geschrieben...
Kann man direkt aus dem Kontextmenü des Explorers Dateien trennen/zusammenfügen und auch noch rekursiv.

Ich glaub ich sollte das mal auf meine Homepage (http://www.shivi.de) setzen...
Werd ich glaub heut mal noch machen.
Markus Stein
  Mit Zitat antworten Zitat
TBx
(Administrator)

Registriert seit: 13. Jul 2005
Ort: Stadthagen
1.889 Beiträge
 
Delphi 12 Athens
 
#4

Re: Compileranweisung $I auflösen

  Alt 18. Apr 2006, 11:11
@Elvis: Na, ich brauch keine Includes . Aber was soll man machen, wenn zugekaufte Kompos so aufgebaut sind? Ich konnte da sogar in Klassendefinitionen ein $I finden. Äußerst nervig.

@Shivan: Klingt gut, werde ich mir gerne einmal ansehen.

Gruß

Thomas
Thomas Breitkreuz
  Mit Zitat antworten Zitat
Benutzerbild von Shivan
Shivan

Registriert seit: 5. Mär 2003
Ort: Ravensburg
131 Beiträge
 
Delphi 6 Enterprise
 
#5

Re: Compileranweisung $I auflösen

  Alt 18. Apr 2006, 11:56
So, hab jetzt die letzte Version vom Unionizer auf meine Homepage gepackt.
In der Readme steht drin wie es funktioniert. Eine kurze Hilfe wird auch angezeigt, wenn du das Programm ohne Parameter startest.

Bei Problemen mit fehlerhaften oder doppelten Includes kann eigentlich nicht viel passieren, da normalerweise die eingebetteten Dateien erst am Ende gelöscht werden und die neue Datei auch erst bei Erfolg am Ende gespeichert wird. Aber sicherheitshalber empfehle ich dir trotzdem, vorher einfach kurz ne Kopie der Dateien zu machen
Markus Stein
  Mit Zitat antworten Zitat
TBx
(Administrator)

Registriert seit: 13. Jul 2005
Ort: Stadthagen
1.889 Beiträge
 
Delphi 12 Athens
 
#6

Re: Compileranweisung $I auflösen

  Alt 18. Apr 2006, 12:51
@Shivan: Danke, das schaut schon ganz gut aus.
Jetzt besteht nur noch das Problem, daß Du die Includes löschst ...
... die werden leider von diversen anderen Quellen genutzt ...

Wie arbeitet Dein Programm? Baust DU dir im Prinzip eine Streamverkettung?

Gruß

Thomas
Thomas Breitkreuz
  Mit Zitat antworten Zitat
Benutzerbild von Shivan
Shivan

Registriert seit: 5. Mär 2003
Ort: Ravensburg
131 Beiträge
 
Delphi 6 Enterprise
 
#7

Re: Compileranweisung $I auflösen

  Alt 18. Apr 2006, 13:05
Zitat von onlinekater:
@Shivan: Danke, das schaut schon ganz gut aus.
Jetzt besteht nur noch das Problem, daß Du die Includes löschst ...
... die werden leider von diversen anderen Quellen genutzt ...
Ne die werden nicht gelöscht sondern nur von $I in §I geändert im normalen Union-Modus. Sons würde der Split ja nicht mehr funktioniern. Du hast wahrscheinlich den Irreversible-Union-Modus verwendet? Dabei werden die Includes gelöscht.

Zitat von onlinekater:
Wie arbeitet Dein Programm? Baust DU dir im Prinzip eine Streamverkettung?
Ne das Ganze läuft zeilenbasiert mit Hilfe von Stringlisten.
Markus Stein
  Mit Zitat antworten Zitat
TBx
(Administrator)

Registriert seit: 13. Jul 2005
Ort: Stadthagen
1.889 Beiträge
 
Delphi 12 Athens
 
#8

Re: Compileranweisung $I auflösen

  Alt 18. Apr 2006, 13:12
Hallo Shivan!

Ich meinte nicht die Referenz in der Quelle, sondern die includierte Datei selbst.

In der Komponentensammlung, die ich da auseinanderpflücken will, sind die includierten Dateien x-fach referenziert


Gruß

Thomas
Thomas Breitkreuz
  Mit Zitat antworten Zitat
Benutzerbild von Shivan
Shivan

Registriert seit: 5. Mär 2003
Ort: Ravensburg
131 Beiträge
 
Delphi 6 Enterprise
 
#9

Re: Compileranweisung $I auflösen

  Alt 18. Apr 2006, 13:14
Ahso...

ok dann sollte ich wohl noch einen Modus implementieren, der die includeten files nicht löscht
Markus Stein
  Mit Zitat antworten Zitat
Benutzerbild von Shivan
Shivan

Registriert seit: 5. Mär 2003
Ort: Ravensburg
131 Beiträge
 
Delphi 6 Enterprise
 
#10

Re: Compileranweisung $I auflösen

  Alt 18. Apr 2006, 13:31
Da mein Parameterhandling leider etwas historisch gewachsen ist müsste ich erst etwas mehr umbauen um das schön hinzubekommen, so dass ich zufrieden bin ...
daher hab ich jetz nur mal kurz die Zeile auskommentiert, welche die Dateien löscht... kannst ja mal probieren:

http://www.shivi.de/Unionizer_nodel.exe
Markus Stein
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 05:16 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