Will this work ? While I'am not an expert in passing parameters, I had a similar issue when writing a Goto link Target script (no "Sleep()" delay so it didn't execute properly) Try this MultiScript in User-Defined command (should fix your rapid firing issue):
Multicommander MultiScript:
@var $targetPath = ${arg:0};
@var $targetFile = ${arg:1};
MC.Explorer.Goto PANEL=RIGHT PATH="{$targetPath}"
Sleep(1200);
MC.Explorer.SetItemFocus PANEL=RIGHT ITEM="{$targetFile}"
Also, according to Grok 4.3 AI, it says your current Delphi code quoting is messy and likely breaking the parameter parsing. Use this cleaner version:
Delphi code:
MCParams := Format('-AutoRun="SelectMyFile ""%s"" ""%s"""',
[DIRECTORY_PATH, FILE_NAME_WITH_EXT]);
ShellExecute(0, 'open', PChar(PATH_TO_MULTI_COMMANDER),
PChar(MCParams), nil, SW_SHOWNORMAL);
Let me know if it works or might need further tweaking (you get the gist), but I had a prob /w a Goto Link Target script, it wasn't focusing on the Set Item because it was firing too rapidly, adding a sleep and the correct syntax fixed it !
P.S: The MultiCommander MultiScript code I provided is sound, not sure about the Delphi fix though...