Plugins 设置Acrobat对话返回值的AsPathName
我正在为AdobeAcrobat编写一个插件,在设置Plugins 设置Acrobat对话返回值的AsPathName,plugins,acrobat,acrobat-sdk,Plugins,Acrobat,Acrobat Sdk,我正在为AdobeAcrobat编写一个插件,在设置AVAppOpenDialog变量的对话实现时遇到了一些问题 *outASPathNames 在底部的代码中。它在方法中表示这个变量是一个 ASPathName** 下面是我如何设置它的。即使文件名为file.jpg,它有时也会显示不同的名称,如A9R5D8F.tmp,或者只是不起作用。我怀疑我没有正确设置变量,但是当你没有被告知什么是错误的时候,黑盒测试是非常困难的。有人能从下面的代码看出我可能做错了什么吗 ASPathName asPa
AVAppOpenDialog
变量的对话实现时遇到了一些问题
*outASPathNames
在底部的代码中。它在方法中表示这个变量是一个
ASPathName**
下面是我如何设置它的。即使文件名为file.jpg,它有时也会显示不同的名称,如A9R5D8F.tmp,或者只是不起作用。我怀疑我没有正确设置变量,但是当你没有被告知什么是错误的时候,黑盒测试是非常困难的。有人能从下面的代码看出我可能做错了什么吗
ASPathName asPathName;
char *filePath = "C:\\Test\\file1.jpg";
ASFile asFile;
ASPathName* arrays[] = {&asPathName};
asPathName = ASFileSysCreatePathFromDIPath(0, filePath, 0);
ASFileSysOpenFile64(0, asPathName, ASFILE_READ, (ASFile *)&asFile);
*outASPathNames = &asPathName;
根据AcrobatAPI,是一个路径名数组。因此,对于初学者,您需要使用数组,而不是ASPathName的地址
其次,您需要确保分配了这个数组内存,否则会抛出异常。1这里是数组的大小
*outASPathNames = (ASPathName*)ASmalloc(sizeof(ASPathName) * 1);
然后您可以填充
**outASPathNames = asPathName
**outASPathNames = asPathName