Мне было интересно, как я могу установить путь по умолчанию для диалога Open File
в X ++. Ситуация такова: в Microsoft Dynamics AX есть форма InventTable
, в которой показаны все данные, касающиеся нашего инвентаря.Настройка пути по умолчанию в getOpenFileName (X ++)
О свойствах каждого предмета является изображение. Все эти изображения хранятся в той же папке на нашем сервере. Поэтому, когда мы нажимаем кнопку, чтобы установить или изменить изображение, я бы хотел, чтобы диалоговое окно автоматически переходило в эту папку, поэтому пользователям не нужно туда идти.
Это код за Change Image
-Кнопка до сих пор:
void clicked()
{
FilenameFilter filter = ['Image Files','*.bmp;*.jpg;*.gif;*.jpeg'];
BinData binData = new BinData();
str extention, path, nameOfFile;
super();
imageFilePathName = WinAPI::getOpenFileName(element.hWnd(),filter, '', "@SYS53008", '','');
if (imageFilePathname && WinAPI::fileExists(imageFilePathName))
{
[path, nameOfFile, extention] = fileNameSplit(imageFilePathName);
if (extention == '.bmp' ||
extention == '.jpg' ||
extention == '.gif' ||
extention == '.jpeg')
{
binData.loadFile(imageFilePathName);
imageContainer = binData.getData();
inventTableImage.ADUImage = imageFilePathName;
element.saveImage();
element.showLogo();
}
else
{
throw error("@SYS89176");
}
}
}
Я прочитал, что я мог установить путь по умолчанию в getOpenFileName
-метода, но это не похоже на работу.
Сама форма имеет метод, называемый filenameLookupInitialPath
, который возвращает только пустую строку.
параметр пути по умолчанию отлично подходит для меня в RTM версии 3.0. Вы уверены, что код выполняется на правильном уровне? WinAPI :: getOpenFileName (0, conNull(), @ 'C: \ users \', ''); – Reinard
@Reinard: Я не добавлял '@' в начале адреса, который сделал это. Вы должны ответить на этот вопрос, спасибо! –