0

我想知道如何Open File在 X++ 中为对话框设置默认路径。情况是这样的:在 Microsoft Dynamics AX 中有一个表格InventTable,它显示了有关我们库存的所有数据。

每个项目的属性之一是图像。这些图像都存储在我们服务器上的同一个文件夹中。所以当我们按下按钮设置或更改图像时,我希望对话框自动到这个文件夹,这样用户就不必自己去那里了。

Change Image到目前为止,这是 -button 背后的代码:

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,它只返回一个空字符串。

4

1 回答 1

1

默认路径参数在 Ax 2012 RTM 3 中对我来说很好用。您确定代码在正确的层上执行并且路径正确吗?

WinAPI::getOpenFileName(0, conNull(), @'C:\users\', '');
于 2015-12-08T14:33:16.580 回答