User forums > Using Code::Blocks
IO.CreateDirectory does not work
(1/1)
Lazybones:
Hi there,
I am trying to write a script plugin which copies all project files to a backupdirectory. In this script I want to use the function IO.CreateDirectory in this way:
--- Code: --- local project = GetProjectManager().GetActiveProject();
if (!IsNull(project))
{
local basepath = project.GetCommonTopLevelPath();
if (IO.CreateDirectory(basepath + _T("milestones"), 0755) )
{
::ShowMessage(_T("No Error creating directory"));
}
else
{
::ShowMessage(_T("Error creating directory"));
}
}
--- End code ---
the message "No Error creating directory" is displayed correctly but the directory is not created.
Is there any mistake in my script?
I am using WinXP and CodeBlocks svn-build 4898.
Thanks for your help!
Sven
thomas:
Doesn't look like there is a mistake. I don't see a mistake in reporting failure to create a directory either, however.
Lazybones:
I had to replace the Windows-Backslashes in the directory by slashes, then creating the directory worked fine:
--- Code: --- local basepath = project.GetCommonTopLevelPath();
local milestonepath = basepath + _T("milestones");
milestonepath.Replace(_T("\\"), _T("/"));
if (IO.CreateDirectory(milestonepath, 0755) )
...
--- End code ---
Maybe there is still a bug?
thomas:
Hmm.. that is funny, this shouldn't be necessary...
That may be a wxWidgets bug. The application calls wxFileName::Normalize, which should whack slashes/backslashes and every other path component so it works, but apparently it doesn't... :(
Navigation
[0] Message Index
Go to full version