Danke!
Wir konnten mit Hilfe eines engagierten Embarcadero-Mitarbeiters bisher Folgendes feststellen:
- Der Befehl lässt sich bei US-Layout nur mit Ctrl+/
ausführen. Das wird dort auch im Menü als Shortcut angezeigt.
- Das Verhalten unterscheidet sich dort: Die Tastenkombination rückt eine Zeile weiter, der Menübefehl nicht.
- Mit German-Layout wird Strg+#
als ShortCut im Menü angezeigt.
- Die Funktion lässt sowohl bei Tastendruck als auch beim Menü-Befehl die Zeile unverändert.
- Auch im German-Layout funktioniert Strg+/
(NumPad), dies auch wie bei US mit Zeilenänderung.
- Die Taste /
bzw. ?
im US-Layout entspricht dem virtuellen Key Code VK_OEM_2
.
- Im German-Layout entspricht VK_OEM_2
der Taste #
bzw. '
.
- Die Taste /
(DIV) im NumPad entspricht dem Code VK_DIVIDE
, sowohl im US- als auch im German-Layout.
- Je nach in der IDE ausgewählter Tastaturbelegung wird CTRL+/
und CTRL+DIV
dort bereits abgefangen.
- Dadurch wird im US-Layout der Menü-ShortCut nie erreicht und die haben somit auch nicht das Problem im Titel dieses Threads.
Es gibt also eigentlich zwei Ursachen:
a) Irgendetwas blockiert den
Strg+#
ShortCut des Menüs - vermutlich ein Disablen der Action, was beim Anzeigen des Menüs wieder neutralisiert wird.
b) Die ausgewählte Tastaturbelegung registriert nicht
CTRL+VK_OEM_2
, sondern versucht das über den Character
/
, was im German-Layout aber nicht klappt.
Würde die
IDE also bei der Tastaturbelegung nicht ein
ShortCut(Ord('/'), [ssCtrl])
verwenden, sondern ein
ShortCut(VK_OEM_2, [ssCtrl])
wäre
b) schon mal gelöst und damit das Problem auch nicht mehr existent.
Vermutlich ist
a) aber auch verantwortlich für eine Reihe anderer Probleme.