• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
Locked
0

AIR NativeProcess on Mac gives Error:3219, all solutions failing

New Here ,
Dec 08, 2014 Dec 08, 2014

Copy link to clipboard

Copied

hi guys,

I've read up most solutions for this error and none seem to apply.

I'm running a basic AS3 app in FlashBuilder, on OS-X.

  • descriptor is set to extendedDesktop
  • have set the profile in FB to 'extendedDesktop'
  • am publishing as 'signed native installer'
  • I've tried launching the file from both:
  • app:/demo.sh
  • file:///Users/visualife/Desktop/AE/demo.sh
  • the target file is set to 777 (executable)
  • the target file runs fine when directly targetted
  • i'm running the exe on the same OS and machine it's created on
  • changing the 'demo.sh' file to a jpg etc doesn't change anything

No matter what I try I get told native process is support, everything runs fine until start is called then a Error: 3219 is thrown with no further information.

all help greatly appreciated!

I've included my code below:

package {
  
import flash.desktop.NativeProcess;
  
import flash.desktop.NativeProcessStartupInfo;
  
import flash.display.Sprite;
  
import flash.errors.IllegalOperationError;
  
import flash.events.Event;
  
import flash.events.IOErrorEvent;
  
import flash.events.NativeProcessExitEvent;
  
import flash.events.ProgressEvent;
  
import flash.filesystem.File;
  
import flash.text.TextField;

  
public class VauxhallController extends Sprite {

  
private var debug_txt:TextField;

  
public var process:NativeProcess;
  
private var sh:File;

  
public function VauxhallController() {
  
if (stage) {
  init
();
  
} else {
  
this.addEventListener(Event.ADDED_TO_STAGE, init);
  
}
  
}

  
private function init($e:Event=null😞void {
  
this.removeEventListener(Event.ADDED_TO_STAGE, init);

  build
();

  
if (NativeProcess.isSupported) {
  initListeners
();

  debugMe
("Native process supported");

  go
();
  
} else {
  debugMe
("Native not supported");
  
}
  
}

  
private function build():void {
  
// debug
  debug_txt 
= new TextField();
  debug_txt
.width = 300;
  debug_txt
.height= 600;
  
this.addChild(debug_txt);

  
}
  
private function initListeners():void { }
  
private function go():void {
  runShellFile
();
  
}

  
private function runShellFile():void {
  
var nativeProcessStartupInfo:NativeProcessStartupInfo = new NativeProcessStartupInfo();
  
var essArgs:Vector.<String> = new Vector.<String>();  
  
var file:File;

  file 
= File.desktopDirectory.resolvePath("AE/demo.sh");

  nativeProcessStartupInfo
.executable = file;
  nativeProcessStartupInfo
.workingDirectory  = File.desktopDirectory;
  nativeProcessStartupInfo
.executable = file;

  process
= new NativeProcess();
  process
.addEventListener(ProgressEvent.STANDARD_OUTPUT_DATA, onOutputData);
  process
.addEventListener(ProgressEvent.STANDARD_ERROR_DATA, onErrorData);
  process
.addEventListener(NativeProcessExitEvent.EXIT, onExit);
  process
.addEventListener(IOErrorEvent.STANDARD_OUTPUT_IO_ERROR, onIOError);
  process
.addEventListener(IOErrorEvent.STANDARD_ERROR_IO_ERROR, onIOError);

  
try {
  process
.start(nativeProcessStartupInfo);
  
} catch (error:IllegalOperationError) {
  debugMe
(error.toString());
  
} catch (error:ArgumentError) {
  debugMe
(error.toString());
  
} catch (error:Error) {
  debugMe
(error.toString());
  
}
  
}

  
public function onOutputData(event:ProgressEvent😞void {  debugMe("Got: "+ process.standardOutput.readUTFBytes(process.standardOutput.bytesAvailable));   }
  
public function onErrorData(event:ProgressEvent😞void {  debugMe("ERROR: "+ process.standardError.readUTFBytes(process.standardError.bytesAvailable));   }
  
public function onExit(event:NativeProcessExitEvent😞void { debugMe("Process exited with: "+ event.exitCode);   }
  
public function onIOError(event:IOErrorEvent😞void {  debugMe("IOError: "+ event.toString());   }

  
private function debugMe(_str:String😞void {  debug_txt.appendText(_str +"\n");   }
  
}
}

Views

459

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines