V prvom rade, podla
dokumentacie, funkcia CreateDir vytvori zlozku v
aktualnej zlozke. Ty ju ale vytvaras v zlozke C:\ Ono by to mozno aj vzalo, ale dalsia vec je, ze mozno nemas prava zapisovat do zlozky C: v danom uzivatelskom ucte ( mozes skusit spustit aplikaciu ako spravca, tak zistis, ci je chyba prave tu, ale ja si myslim, ze problem je to, co som spomenul prve ). Na vytvorenie zlozky niekde inde by som radsej pouzil funkciu
ForceDirectories.
Dalej nespominas, aky to vlastne problem nastane. Nemozes skompilovat alebo je problem az po spusteni? Skusal som to prehnat fpc kompilerom a nemal som problem, skompilovalo to, cize ak mas problem s kompilaciou ( ze ti tam nechce zobrat premennu miesto konstanty ), skus toto:
Kód:
if CreateDir( PChar( New_dir ) ) then
// ...
Ak je problem az za behu, daj si v ShowMessage vypisat volanie funkcie IntToStr( GetLastError ) a napis sem jej obsah.