Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Eigene Compiler-Oberfläche (https://www.delphipraxis.net/27800-eigene-compiler-oberflaeche.html)

mschaefer 17. Aug 2004 10:10

Re: Eigene Compiler-Oberfläche
 
Moin, moin,

ups,was für´n Ding? Du kannst Die Befehle zum DCC32 in die Kommandozeile legen, dann unterliegt Sie der Längenbegrenzung dieser (getestet) und in die cfg.

Ok, das mit der cfg Löst dann viele Probleme. Danke für den Hinweis!

Fataler Weise kompiliert mein Delphi auch dann, wenn ich den DCC32
im Bin - Verzeichnis gelöscht habe !

Ok , danke es löst sich also doch so auf. Naja es bastelt ja nun nicht jeder an
seinen Delphi-Interna herum

Viele Grüße // Martin

MaBuSE 17. Aug 2004 10:51

Re: Eigene Compiler-Oberfläche
 
Zitat:

Zitat von maximov
Zitat:

Zitat von Phoenix
...Sorry, aber das ist schwachfug.
Auch die IDE steuert nur den Kommandozeilencompiler an...

Sorry, aber das ist ... :mrgreen:

Meines wissens benutzt die IDE nicht die DCC32.exe, sondern die DCC70.DLL! Was für die handhabung innerhalb der IDE natürlich viel günstiger ist, da der compiliervorgang im selben prozess stattfindet. ...

Also nicht immer gleich losbrüllen.

Maximov hat Recht !!!

Die IDE benutzt nicht den DCC32.EXE.
(Einfach mal die DCC32.EXE umbennenen. Die IDE kann trotzdem kompilieren :-))

Zitat:

Zitat von maximov
Gibt hier glaub ich auch berichte über unterschiedliches verhalten der beiden teile.

Maximov hat schon wieder Recht !!!
In der DCC32.EXE ist leider ein dummer Bug drinn, der in der IDE nicht passiert.
Die Schalter /N und /LN funktionieren nicht auf Laufwerk B:
Das gilt auch für die Einstellungen in der dcc32.cfg oder Projekt1.cfg
Der Fehler war sofar schon in Delphi 5 drin. Ich habe das neulich Borland gemeldet:
Zitat:

Hello,
i want to report a bug in dcc32.exe.

If you want to compile a project on drive b:, the Params /N and /LN are not
working.

Param /E and /LE are working fine.

Example:
1. Make directorys in c:\temp
-c:\temp\test
-c:\temp\test\gui
-c:\temp\test\dcc
2. Install drive b: (subst b: c:\temp)
3. Create new project (and place a TButton and/or TEdit on it)
4. Go to menu-project-options -> Directories/Conditionals
4. Edit Output directory to "b:\test\gui"
5. Edit Unit output directory to "b:\test\gui"
6. Press ok
7. Save project to b:\test\
8. Compile
9. In b:\test\gui you find *.dcu and *.exe
10. Ok, this works fine

11. Go to shell ([start] run -> cmd.exe)
12. Go to b:\test (cd /d b:\test)
13. Compile project with dcc32.exe
dcc32 -Eb:\test\dcc -Nb:\test\dcc -Uc:\programme\borland\bds\3.0\lib
project1.dpr
(for "c:\programme\borland\bds\3.0\lib" you type the location of your
Delphi9 install + \lib / for "project1.dpr" you type your project filename)
14. In b:\test\dcc is only the *.exe file.
The *.dcu files are in b:\test
15. -> /N and /LN are not working on b:

On every drive c:, d: , e: , ..., z: it works fine.

-N and -LN in project1.cfg is also not working.
-N and -LN in $(BDS)\bin\dcc32.cfg is also not working.

I tested this today in Delphi 7 -> the bug is in there too!!!

Sorry for my bad English, I'm German.

Kind regards
Borland wird den Fehler aber beheben:
Zitat:

I see those same results here and I see it when a driver letter different
from B: is specified for the virtual drive.
I have logged the issue as #204475.
Thanks the report.

mschaefer 17. Aug 2004 11:25

Re: Eigene Compiler-Oberfläche
 
Moin, moin,

also auch wenn ich am Anfang die IDE - Idee etwas skeptisch gesehen habe,
gefällt die mir zunemends besser.

Bei mir läuft die Package-Compilation über den DCC32. Das hat den Vorteil,
dass man nicht immer die IDE und das aktuelle Projekt verlassen muss,
falls Änderungen am einer Komponente gemacht wurden.

Was mich noch interessieren würde ist ob rlink ebenfalls auf die cfg-Datei
Zugreift oder ob dies nun eine reine Kommandozeilenübergabe vom dcc32 aus ist.

Grüße // Martin

maximov 17. Aug 2004 11:43

Re: Eigene Compiler-Oberfläche
 
Zitat:

Zitat von mschaefer
...
Bei mir läuft die Package-Compilation über den DCC32. Das hat den Vorteil,
dass man nicht immer die IDE und das aktuelle Projekt verlassen muss,
falls Änderungen am einer Komponente gemacht wurden.
...

Dafür hat man doch die projekt-gruppe, wo man mehrere projekte, packages, dlls parallel oder gleichzeitig compilieren benutzen kann :wink:

mschaefer 17. Aug 2004 12:45

Re: Eigene Compiler-Oberfläche
 
Hallo maximov,

Ja, Du hast schon recht !
Man kann das gut über die Projektgruppe lösen. So eine Variante
hatte ich auch lange Zeit laufen. Die DCC-Variante gefällt mir
da so das aktuelle Delphi-Projekt nicht verlassen muß. Ausserdem
kann ich so von der Compilation bis zur Setuperstelllung per Batch-
datei fahren und das spart erheblich Zeit und nur so wird das rentabel...

Viele Grüße // Martin

MaBuSE 17. Aug 2004 12:51

Re: Eigene Compiler-Oberfläche
 
Zitat:

Zitat von mschaefer
Man kann das gut über die Projektgruppe lösen. So eine Variante hatte ich auch lange Zeit laufen. Die DCC-Variante gefällt mir
da so das aktuelle Delphi-Projekt nicht verlassen muß. Ausserdem
kann ich so von der Compilation bis zur Setuperstelllung per Batch-
datei fahren und das spart erheblich Zeit und nur so wird das rentabel...

Die Projektgruppe (*.bpg) ist doch "nur" eine Make Datei.

Diese kann doch auch von der Kommandozeile aufgerufen werden

$(DELPHI)\bin\make.exe

Mit -? gibts Hilfe

unter http://www.dummzeuch.de/delphi/delphi_make/deutsch.html gibts noch mehr zu lesen...

Viel Spaß

mschaefer 17. Aug 2004 12:59

Re: Eigene Compiler-Oberfläche
 
Moin, Uhps,

Das ist ja genial, denn so kann ich die Projektgruppe in der IDE visuell aufbauen, umbauen,
wie ich sie gerade brauche und kann gleichzeitig mit Batch das recompilieren erreichen. Klasse !

Grüße // Martin

MaBuSE 17. Aug 2004 13:05

Re: Eigene Compiler-Oberfläche
 
Zitat:

Zitat von mschaefer
Das ist ja genial, denn so kann ich die Projektgruppe in der IDE visuell aufbauen, umbauen,
wie ich sie gerade brauche und kann gleichzeitig mit Batch das recompilieren erreichen. Klasse !

Freut mich, wenn ich helfen konnte :mrgreen:

btw
Die project1.cfg, project2.cfg werden auch via makefile von dcc32.exe berücksichtigt.

Wenn kein Projektname.cfg vorhanden ist, schaut dcc32.exe nach ob eine
$(DELPHI)\bin\dcc32.cfg Datei existiert und verwendet diese.

Wenn es diese Datei auch nicht gibt, dann verwendet dcc32.exe die Default-Einstellungen

Die Komandozeilenoprionen z.B. -N oder -LN sind "stärker" als die Einstellungen im *.cfg File.

hth

MaBuSE 17. Aug 2004 13:08

Re: Eigene Compiler-Oberfläche
 
Da fällt mir noch was ein ;-)

Wenn Du die Projektgruppe.bpg in makefile umbennenst, dann braucht Du nur make aufzurufen (ohne Parameter)

make.exe läd per default eine Datei namens "makefile"

[edit]
Daher auch folgende Fehlermeldung bei einem Aufruf von make ohne Parameter wenn keine Datei namens "makefile" existiert:
Code:
C:\Programme\Borland\Delphi7\Bin>make
MAKE Version 5.2  Copyright (c) 1987, 1998 Inprise Corp.
Fatal: Unable to open makefile
[/edit]

hth

mschaefer 17. Aug 2004 13:16

Re: Eigene Compiler-Oberfläche
 
Hallo MaBuSE

Ja, das geht! Denke aber auch das es kein Problem ist eine Batch mit "compile %1" Eingabeparameter zu bauen. Dann kann man zum Beispiel mit Inno-Setup gleich das Setupscript
per batch anhängen...


[ebenfalls edit]

an dem Problem bin wohl schonmal am "make" gescheitert. Da habe allderdings mit CBuilder
gearbeitet und da habe ich den Eindruck gehabt, das dies alles eine recht "wackelige"
Konstruktion ist.

[/ebenfalls edit]



Grüße // Martin


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:04 Uhr.
Seite 2 von 2     12   

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