- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在尝试运行在服务器上运行的 Winapi::findFirstFile
时遇到问题。我已经尝试复制 WinapiServer 类上的方法,并更改一些行,如下所示:
server static container findFirstFile(str filename)
{
InteropPermission interopPerm;
Binary data;
DLL _winApiDLL;
DLLFunction _findFirstFile;
;
interopPerm = new InteropPermission(InteropKind::DllInterop);
interopPerm.assert();
data = new Binary(592); // size of WIN32_FIND_DATA when sizeof(TCHAR)==2
_winApiDLL = new DLL(#KernelDLL);
_findFirstFile = new DLLFunction(_winApiDLL, 'FindFirstFileW');
_findFirstFile.returns(ExtTypes::DWord);
_findFirstFile.arg(ExtTypes::WString,ExtTypes::Pointer);
return [_findFirstFile.call(filename, data),data.wString(#offset44)];
}
但是现在我遇到了另一种错误库 DLL“KERNEL32”上的函数“FindFirstFileW”引发异常。
这是因为我在 x64 服务器上执行该方法。有人有解决这个问题的想法吗?
最佳答案
这是一个示例代码,它在客户端和服务器端都适用于我。它使用 .NET 命名空间来获取给定模式的给定文件夹路径中的文件列表。
您可以修改它以创建您自己的服务器端版本的 FindFirstFile 方法。
X++ 代码
static container findMatchingFiles(
str _folderPath
, str _filePattern = '*.*')
{
System.IO.DirectoryInfo directory;
System.IO.FileInfo[] files;
System.IO.FileInfo file;
InteropPermission permission;
str fileName;
counter filesCount;
counter loop;
container mathchingFiles;
;
permission = new InteropPermission(InteropKind::ClrInterop);
permission.assert();
directory = new System.IO.DirectoryInfo(_folderPath);
files = directory.GetFiles(_filePattern);
filesCount = files.get_Length();
for (loop = 0; loop < filesCount; loop++)
{
file = files.GetValue(loop);
fileName = file.get_FullName();
mathchingFiles = conins(mathchingFiles, conlen(mathchingFiles) + 1, fileName);
}
CodeAccessPermission::revertAssert();
return mathchingFiles;
}
测试作业
为了测试上述代码,我在路径 C:\temp\Files\
我将上述方法放置在名为Tutorial_WinApiServer的示例类中。然后,使用以下代码创建一个名为 fetchFiles
的作业。
static void fetchFiles(Args _args)
{
container files;
counter loop;
str fileName;
;
files = Tutorial_WinApiServer::findMatchingFiles(@'C:\temp\Files', '*.txt');
for (loop = 1; loop <= conlen(files); loop++)
{
fileName = conpeek(files, loop);
info(fileName);
}
}
执行作业给出以下输出。
将文件模式更改为 F*.* 后,作业产生以下输出。
希望有帮助。
关于axapta - 尝试使用在服务器上运行的 Winapi::findFirstFile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8300111/
我在 Axapta 中创建了新的 LeaveMaster 表。请告诉我如何创建 LeaveID 的编号序列。请帮我。谢谢。 最佳答案 有一个 article在 MSDN 上,解释了如何创建您自己的自定
如何在 axapta 的表单之间传递单个参数?我想从表单 A 中的单击按钮事件运行表单 B 并传递...例如客户 ID?我如何以目标形式(也许在 init 方法中)读取它?谢谢 最佳答案 1 方法 最
我有一个这样的用户表 ID Date Value --------------------------- 1001 31 01 14 2035.1 10
我已经设法让我的 Axapta 3.0 通过 printjobSettings 类发送电子邮件。但是,似乎没有任何地方可以为我的电子邮件创建正文。目前我可以发送带附件的电子邮件,但我想包含一些文本以为
有没有办法在 Axapta/Dynamics Ax 中创建一个整数类型的扩展数据类型,它只允许指定范围内的值(即,如果扩展数据类型用于存储年份,我应该能够设置一个范围,例如 1900-2100),还是
如何在 Axapta/Dynamics Ax 中创建具有主网格和细节网格的主/细节表单,其中在主网格中选择记录会相应地更改细节网格的内容? 最佳答案 http://daxdave.blogspot.c
请有人帮我理解批处理的疯狂吗? 我正在尝试调试具有大约 50 个批处理作业的 Axapta 3.0 实现。大多数批处理类没有实现 description() 方法,因此当您查看批次列表表单(基本>>查
我在 Axapta/Dynamics Ax (EmplTable) 中有一个表单,它有两个数据源(EmplTable 和 HRMVirtualNetworkTable),其中第二个数据源(HRMVir
我想在 X++ 中为 Microsoft Axapta 3.0 (Dynamics AX) 创建一个批处理作业。 如何创建一个像这样执行 X++ 函数的作业? static void External
在表单中,当创建新记录时,它会插入到表中,数据源中的哪个方法可以被覆盖(插入方法不可用)以处理在 Microsoft Dynamics AX 2009 with X++ 中插入时的一些功能? 最佳答案
当我致力于启用和禁用表单控件时,我注意到有两种表单元素。一个是表单控件类的对象,可访问如下: FormControl _control = _formRun.design().controlNum(i
确定 update() 中哪个字段已更改的正确方法是什么? table 上的方法? 我知道在 modifiedField() 中是可能的通过 fieldId但这还为时过早。 最佳答案 您正在寻找的方法
我有一个包含许多元素的容器,其中一些元素是容器。 我需要得到那些 内部容器 .最好的做法是什么? 我的解决方案对我来说有点难看:( container a = [1, 2, ["one","two",
我正在安装 AX 2009。任务是更新 WMSOrderTrans 表。这是我到目前为止所得到的: WMSOrderTrans wmsOrderTrans; ; while select wmsO
我需要从存储在 MSSQL 数据库中的单个表中提取数据。然后将数据存储在 AX 中的临时表中,并根据业务逻辑从那里进行处理。 性能是该项目的关键因素。 现在我正在研究使用 X++ 代码从 MSSQL
各位开发者, 我有一个自定义列表页面,用户可以在其中选择几条记录,点击操作 Pane 中的按钮,在类中运行一些逻辑,一切正常。我的问题是光标不会停留在同一条记录上而是移动到网格的顶部。听起来像一个熟悉
我有一个 AOT 查询对象。如何使 range 成为必填字段? 最佳答案 您不能将范围值设为强制性。 您可以测试(在 validate 中)范围是否为空。 关于axapta - 如何强制查询范围?,我
我正在寻找 之间的区别斧头查询和 选择 (或 而选择 ) 在此示例中,我看不到语句 select 不能做什么:the example of ax query in msdn 我想我误解了 ax 查询范
TLDR:当使用查找的字段不为空时,为什么在查找中禁用 group by 子句? 我想对表单中的字段进行自定义查找。表CTable看起来像这样: Val Spec ------------ A a
调整表单大小时,如何自动调整网格或其他子组件的大小? 最佳答案 将网格Width属性设置为“列宽”,并将Height属性设置为“列高”。对任何外部容器(组,选项卡,选项卡页等)执行此操作。 Strin
我是一名优秀的程序员,十分优秀!