AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein XML Delphi XML bearbeiten im VBScript (FinalBuilder)
Thema durchsuchen
Ansicht
Themen-Optionen

XML bearbeiten im VBScript (FinalBuilder)

Ein Thema von himitsu · begonnen am 1. Aug 2023 · letzter Beitrag vom 6. Okt 2023
 
Benutzerbild von himitsu
himitsu

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

AW: XML bearbeiten im VBScript (FinalBuilder)

  Alt 3. Aug 2023, 16:06
Wie Uwe es bei seinem Project Magician wohl macht, dass die DPROJ dabei nicht kaputt geht?
Ehrlich gesagt, weiß ich gar nicht, ob sie dabei nicht doch kaputt geht. Aber falls es relevant ist: Ich verwende NativeXML zur Bearbeitung.
Also einen Fehler hab ich grade gesehn. (nur sortieren, ohne "Ungenutztes" löschen)
(OK, das ist eigentlich ein VCL-Projekt und braucht die Fremdplatformen eigentlich garnicht, womit es hier erstmal nicht stört)

Die <PropertyGroup> werden doch alphabetisch sortiert?
Sie müssen aber eigentlich vorrangig nach Abhängigkeit <CfgParent> sortiert sein, da sie voneinander abhängen und Werte überschreiben, aber anschließend untergeordnet ist alphabetisch OK.

z.B. wird Android vor Base/Basis einsortiert, aber Base muß vor Android kommen.

umsortiert:
Code:
    <PropertyGroup Condition="('$(Platform)'=='Android' and '$(Base)'=='true') or '$(Base_Android)'!=''">
        <Base>true</Base>
        <CfgParent>Base</CfgParent>
        <Base_Android>true</Base_Android>
    </PropertyGroup>
    <PropertyGroup Condition="('$(Platform)'=='Android64' and '$(Base)'=='true') or '$(Base_Android64)'!=''">
        <Base>true</Base>
        <CfgParent>Base</CfgParent>
        <Base_Android64>true</Base_Android64>
    </PropertyGroup>
    <PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
        <Base>true</Base>
    </PropertyGroup>
original:
Code:
    <PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
        <Base>true</Base>
    </PropertyGroup>
    <PropertyGroup Condition="('$(Platform)'=='Android' and '$(Base)'=='true') or '$(Base_Android)'!=''">
        <Base_Android>true</Base_Android>
        <CfgParent>Base</CfgParent>
        <Base>true</Base>
    </PropertyGroup>
    <PropertyGroup Condition="('$(Platform)'=='Android64' and '$(Base)'=='true') or '$(Base_Android64)'!=''">
        <Base_Android64>true</Base_Android64>
        <CfgParent>Base</CfgParent>
        <Base>true</Base>
    </PropertyGroup>
In Condition(Config=Base) wird die Variable <Base> auf True gesetzt,
aber Condition(Platform=Android) prüft $(Base) schon vor diesem Setzen jener Variable, welche nun aber erst nachher gesetzt wird.

Oder hab ich das falsch verstanden?
Im Prinzip ist die DPROJ doch eine Art von Batch, welche nacheinander abgearbeitet wird. (zumindestens was die Auflösung von Variablen und Reihenfolge von Actionen angeht)


Ganz unten, nach den <Imports>, hab ich dann noch die blöden zusätzlichen <PropertyGroup> vom Delphi ... nach welchem Muster die umsortiert sind, konnte ich nicht ergründen.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 3. Aug 2023 um 16:42 Uhr)
  Mit Zitat antworten Zitat
 


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 21:21 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-2025 by Thomas Breitkreuz