Erlaubte Zeichen im Dateinamen

Gibt es dazu irgendwe eine Doku?

bei 32bit geht “Dies & Das” als Dateiname bei 64 bit ist das anscheinend illegal

Die üblichen Verdächtigen sind / : \. Alles andere ist ein Bug.

@Stefan Sicurella Beispiel?

ja, es geht um das Zeichen: &

Ok ich melde es in Feedback

Stefan, wenn du wirklich Hilfe willst:

IMMER System und Xojo Version angeben.

IMMER Beispielprojekt zur Verfügung zu stellen damit andere es sich anschauen können (und nicht erwarten daß Gott weiß wie viele ihre Zeit verschwenden müssen um ein Beispielprojekte zu erstellen daß auf das Problem passt oder auch nicht - das ist einfach Faulheit die nicht unterstützt werden sollte).

Warum? Nutz doch erst mal die Möglichkeiten hier. Aber dafür mußt du auch mehr Info zur Verfügung stellen.

Hier auf MacOS Sierra machen & im Dateinamen kein Problem.

Ja, das stimmt wohl!

El Capitan, Xojo 2016 4.1
Ja, es stimmt, es geht hier auch, allerdings gibt es dadurch andere Fehler.

Mein Skript nach dem Build funktioniert definitiv nicht, sobald ein & im Dateinamen ist, vielleicht sieht hier jemand auf den ersten Blick was los ist?

	Dim appName As String = CurrentBuildAppName
	appName = ReplaceAll(appName, " ", "\\ ") // Escape spaces for the command line
	
	Dim appPath As String = CurrentBuildLocation + "/" + appName + ".app"
	
	// Application Display Name in different Languages
	command = "/usr/bin/defaults write " + appPath + "/Contents/Info ""Application has localized display name"" YES"
	Call DoShellCommand(command)
	
	Dim command As String
	// German Display Name
	command = "/bin/echo 'CFBundleDisplayName = ""Mineralien & Edelsteine""; '>>" + appPath + "/Contents/Resources/de.lproj/InfoPlist.strings"
	Call DoShellCommand(command)
	command = "/bin/echo 'CFBundleName = ""Mineralien & Edelsteine""; '>>" + appPath + "/Contents/Resources/de.lproj/InfoPlist.strings"
	Call DoShellCommand(command)
	
	// English Display Name
	command = "/bin/echo 'CFBundleDisplayName = ""Minerals & Gemstones"";' >>" + appPath + "/Contents/Resources/en.lproj/InfoPlist.strings"
	Call DoShellCommand(command)
	command = "/bin/echo 'CFBundleName = ""Minerals & Gemstones""; '>>" + appPath + "/Contents/Resources/en.lproj/InfoPlist.strings"
	Call DoShellCommand(command)

Google for Mac terminal escape metacharacters

Und bist du sicher das es funktioniert wenn du & durch und ersetzt?

versuch mal mit printf

Bin mir nicht sicher, aber fehlt da nicht auch ein Leerzeichen nach >>?

“/bin/echo 'CFBundleDisplayName = ““Mineralien & Edelsteine””; '>>” + appPath

Der Trick ist, den Mac App name in Xojo einen namen OHNE & zu geben.
Das Script luft dann durch und alles ist gut, da es ja auch den Deutschen Namen neu setzt… zumindest sieht der Benutzer nur den.

Hmmm, htte && im Namen geklappt?

Die & Problematik zieht sich auch durch die anderen Controls in Xojo.
Ein Label zB zeigt das & auch nur an , wenn man && schreibt… aber nicht, wenn das in einer Konstante steht… da ignoriert er es trotztdem.

Ich bion jetzt so genervt von dieser Problematik, dass ich meine App anders nennen werden OHNE &

Das ist kein Bug sondern ein Feature. War schon immer so - wegen Windows??? Da das mit eine Konstante klappt, ist klar, da hast Du nur Text.

Bei Windows kann man “&Hallo” schreiben und dann mit Alt-H dahin springen.

Ah… ok, verstehe… wusste ich nicht.

Gilt das nicht nur für Menüs?

geht auch für Labels.