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.

 
  1. No comments yet.

  1. No trackbacks yet.