Evidentne máš problém s definíciou parametrov Tvojej procedury....Predávanie konkrétnych parametrov premenných Ti tiež robí problémy...
Týmto si myslel akože konkrétne čo?
ShellExecute_AndWait (filename + parameters); //to si chcel spojiť 2 stringy do jedného ??? znamienko + plus ???
Ak máš Tvoju procedúru definovanú takto: procedure ShellExecute_AndWait(FileName : String; parameters : String);
...
potom musíš volať procedúru takto: ShellExecute_AndWait (filename , parameters); parametre predávaš znamienkom , a nie +....