![]() |
AW: Indy-Installation funktioniert nicht
Möglicherweise ist nicht die Gesamtlänge das Problem - denn die erste Meldung ist keine Fehlermeldung sondern eine Warnung (mit Code MSB6002), die auf einen zu langen command-line String hinweist. Danach, in der Fehlermeldung mit Code MSB6003, ist nur die Rede von einem zu langen Dateinamen / einer zu langen Extension.
Wenn man im Internet zu error MSB6003 recherchiert, gelangt man schnell zu ![]() Hier wird auch beschrieben, wie man das Limit entfernen kann. Der Fehler könnte auftreten, wenn ein einzelner der Pfade länger als 260 Zeichen ist. (z.B. ein Pfad, der eine Variable enthält). Mittels Texteditor, in dem alle ; im Library Path durch CR/LF ersetzt werden, läßt sich das eventuell bestätigen. |
AW: Indy-Installation funktioniert nicht
Zitat:
Bei mir funktioniert das Compilieren der Indy-Komponenten problemlos, ebenso wie das der JCL und JVCL (die ich ebenfalls per commandline mit msbuild compiliere). Vielleicht sind bei Dir die Pfade zu den Verzeichnissen auch extrem lang, weil Du Sourcen immer nach c:\users\<ganz langer username>\<sonstige Verzeichnisse> installierst? Ich installiere Delphi immer nach c:\Delphi\<version> und irgendwelche Bibliotheken immer nach d:\source, so dass die Pfade relativ kurz sind, auch wenn viele Verzeichnisse drin stehen. Zitat:
Leider verewigen sich dort auch diverse Bibliotheken, wobei das wohl auch die Empfehlung seitens Embarcadero ist. Das heißt aber dann auch, dass die immer verwendet werden, egal ob man die Bibliothek in einem Projekt verwendet oder nicht. |
AW: Indy-Installation funktioniert nicht
Zitat:
|
AW: Indy-Installation funktioniert nicht
Zitat:
Außerdem scheinst du noch immer nicht zur Kenntnis genommen zu haben, dass MSBUILD der tatsächliche Urheber für den Fehler ist. |
AW: Indy-Installation funktioniert nicht
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Anhang 55907 Auch beim Aufruf aus der IDE heraus muss der Compiler die Pfadangaben bekommen. Wie sollte das denn sonst auch gehen? Stell dir mal vor, dass du jemandem sagst, dass er alle Personen mit dem Nachnamen Müller aus dem Telefonbuch heraussuchen soll, aber das Telefonbuch zum Nachschlagen bekommt er nicht. Das kann nicht klappen... Wie soll der Compiler die Units denn finden, wenn er nicht gesagt bekommt, wo diese liegen können? Und wenn in der Konfiguration ein Fehler ist (zu langer einzelner Pfad oder zu viele Pfade insgesamt), dann funktioniert es eben nicht. |
AW: Indy-Installation funktioniert nicht
[QUOTE=jaenicke;1520039]
Zitat:
|
AW: Indy-Installation funktioniert nicht
OK, wir sind bei Beleidigungen und Großchrift angekommen. Ich bin dann raus.
|
AW: Indy-Installation funktioniert nicht
Zitat:
Jedenfalls habe ich durchaus zur Kenntnis genommen, dass du irgendwo eine Magie vermutest, die vorher herausfindet, welche Pfade gebraucht werden. Aber weder existiert diese noch wäre diese logisch möglich, ohne dafür Compilerfunktionen zu nutzen (z.B. im Rahmen des LSP-Hintergrundcompilers). Denn ohne Compilerfunktionen ist es nun einmal unmöglich zu wissen, welche Units benötigt werden, und dementsprechend welche Pfade nötige Units enthalten. |
AW: Indy-Installation funktioniert nicht
[QUOTE=jaenicke;1520044]
Zitat:
Die Logik ist eigentlich ganz einfach und sollte eigentlich von jedem Grundschüler verstanden werden:
Delphi-Quellcode:
oder vielleicht noch besser:
if CompilationByMSBUILD and (LibraryPaths.Count > X) then
Result := Error else if CompilationByDCC32 then Result := OK;
Delphi-Quellcode:
if LibraryPaths.Count > X then
begin if CompilationByMSBUILD then Result := Error else if CompilationByDCC32 then Result := OK; end; |
AW: Indy-Installation funktioniert nicht
Der Unterschied ist, dass MSBuild die Validität prüft und ggf. Fehler meldet, während der Aufruf aus der IDE ohne diese Prüfungen gemacht wird. Wenn du nun bemängelst, dass MSBuild eine fehlerhafte Konfiguration nicht einfach so übergeht (und dich ggf. später in Fehler laufen lässt, mit denen du nichts anfangen kannst), kannst du das natürlich tun. Das ändert aber nichts daran, dass der Fehler nicht bei MSBuild liegt.
Zudem hilft es dir auch nicht weiter. Deshalb verstehe ich nicht, weshalb du dich darüber aufregst, statt einfach deine Konfiguration zu korrigieren... In früheren Versionen von Delphi führte ein zu langer Biblitohekspfad übrigens dazu, dass die Kommandozeile für die dcc32.exe irgendwann abgeschnitten wurde, was zu teilweise recht seltsamen Fehlermeldungen führte. Ich hoffe, dass das mittlerweile abgefangen wird, aber ausprobiert habe ich das nicht. Zu lange einzelne Pfade hingegen wurden ggf. einfach ignoriert, so dass man sich nur gewundert hat, warum die Units nicht gefunden werden (was eben bei MSBuild geprüft und dir gemeldet wird). |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:18 Uhr. |
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 by Thomas Breitkreuz