WinAPI::createDirectoryPath ‘de “$” işareti hatası
Merhaba
Örenğin şöyle bir adresimiz olsun:
filePath = \\10.34.32.21\axapta$\Ozluk;
WinAPI::createDirectoryPath(filePath);
Komutu ile klasor oluşturmaya çalışırsanız hata alırsınız. Çünki $ işaretinden kaynaklanan bir sorun var.
WinAPI::createDirectoryPath(filePath) metodunda kullanılan strlen(filePath) fonksiyonu $ işartetinden dolayı doğru sonuç döndüremiyor.
createDirectoryPath metodunun içeriğine bakalım:
static client public boolean createDirectoryPath(FilePath _path)
{
int ptr;
;
_path = strLRTrim(_path);
if (substr(_path,strlen(_path),1) != ‘\\’) // Adding backslash gives a more simple while-loop!
{
_path += ‘\\’;
}
ptr = strfind(_path, ‘\\’, 1, strlen(_path)); // hatanın sebebi
while (ptr)
{
WinAPI::createDirectory(substr(_path, 1, ptr));
if (!WinAPI::folderExists(substr(_path, 1, ptr)))
{
break;
}
ptr = strfind(_path, ‘\\’, ptr + 1, strlen(_path));
}
return WinAPI::folderExists(_path);
}
Eğer metodu değiştirmek istemezseniz direk System.IO kullanabilirsiniz.
System.IO.Directory::CreateDirectory(filePath);
Selamlar.