flash.filesystem.File是我已发布的.exe文件无法打开的原因

时间:2019-11-05 07:08:12

标签: actionscript-3 air

在我最近的项目中,我需要获取一个文件路径,用户可以在其中使用对话框指定/选择文件。

这是我要做的代码;

package
{
    import flash.display.MovieClip;
    import flash.events.MouseEvent;
    import flash.events.Event;

    import flash.filesystem.File;
    import flash.net.FileFilter;

    import xlsxreader.Worksheet;
    import xlsxreader.XLSXLoader;

    public class MainClass extends MovieClip
    {
        var fileGet: File = new File();
        var excel_loader: XLSXLoader = new XLSXLoader();

        public function STRIMSMainClass()
        {
            var import_btn: MovieClip = MovieClip(root).powerButton_mc.utilitiesButton_mc;

            import_btn.addEventListener(MouseEvent.CLICK, selectExcelFile);

            fileGet = File.applicationDirectory;
            fileGet.addEventListener(Event.CANCEL, fileCancel);
            fileGet.addEventListener(Event.SELECT, fileSelect);

            excel_loader.addEventListener(Event.COMPLETE, loadingComplete);
        }

        function selectExcelFile(e: MouseEvent): void
        {
            var fileFilter = new FileFilter("Select Excel File", "*.xls;*.xlsx;*.xlsm");

            fileGet.browseForOpen("Select Excel File", [fileFilter]);
        }

        function fileCancel(e: Event): void
        {}

        function fileSelect(e: Event): void
        {
            excel_loader.load(fileGet.nativePath);
        }

        function loadingComplete(e: Event): void
        {}
    }
}

但是,我的计算机无法打开已发布的.exe文件;它只是闪烁并自动关闭。我在发布之前测试了代码,并且工作正常。

当我尝试逐行浏览代码时,请删除此行var fileGet: File = new File()以及与之关联的任何行,可以正常打开.exe文件。

我需要filesystem.File才能获取需要打开的文件的.nativePath,所以我不能排除var fileGet: File = new File()。这也发生在我同事的PC中。

请帮助我解决目前发生的这个奇怪的错误。这是我第一次尝试使用Adobe Animate开发软件。

0 个答案:

没有答案