Using a .dll file in ActionScript - actionscript-3

I need to use a dll file that was created in C# within my FlashBuilder project. I saw that adobe native extensions might be able to be used to incorporate the dll file, but I'm not entirely sure how to make the .ane file from the .dll file. I was wondering if there is an easier way to gain access to the classes and functions inside the dll file within my actionscript code.
Thanks,
Ilithis

Native extensions may only be used if you're working in Adobe Air. You can read more about the topic and find tutorials here.

Related

Java decompilers that support renaming and other IDE features

I've been trying my hand at decompiling dex and jar files with a few decompilers. So far the best one I've used is jadx, and it also comes with a GUI. However, it seems to be read only. Is there a decompiler that allows me to rename variables/methods/classes for obfuscated code, as well as other more advanced IDE features such as find when a class/method/variable is called/accessed?
In my opinion the best way to do that is to decompile the JAR and then import the code in a IDE of your choice.
If you use IntelliJ IDEA you can create a new project, import the JAR as an external lib, and then use the built-in decompiler. You can then set breakpoints etc.

How to use Haxe SWF for Compiled Adobe Air Desktop App

How can I convert a Haxe SWF to a compiled native app using AIR?
Is there a way to override the Flash default .SWF export when you use a Haxe Command Line to export a SWF that can be packaged up into an Adobe Air file?
I'm having trouble finding information on how to compile a Haxe .SWF export via command line into Adobe Air. Ive tried deleting the default swf and renaming the Haxe .swf export, but Adobe still rewrites it when it packages everything up.
E.G: "haxe -swf main-flash.swf -main Main -swf-version 15 -swf-header 960:640:60:f68712"
I'm using Mac OS X with Flash CC and Atom to write my game with Starling-HAXE. I want to target desktop (PC/MAC/Linux).
Thanks!
The OpenFL tools used to support Adobe AIR on the desktop, if you look at this older helper class, you may find hints on how you might go from a Haxe-generated SWF file to a final AIR application:
https://github.com/openfl/lime-tools/blob/master/helpers/AIRHelper.hx
Looking at it again, I believe you call ADT with the proper signing parameters. You probably need an application.xml file as well, here is one:
https://github.com/openfl/openfl/blob/master/templates/flash/templates/air/application.xml
You would need to replace variables such as "::APP_PACKAGE::" with com.yourcompany.yourproject, and other sensible values.
If someone would like to look at integrating AIR support into the Lime tools again, I'm open to the idea. The problem I was concerned about was long-term maintenance
I have some batch files that will do this (although will most likely need to be reworked on your behalf). I'm not at my computer right now, but will post them over the weekend. On a side note it would be great to have this type of functionality baked into flashdevelop.

What is the best way to use SWF library runtime (AIR)

I am building a project in AIR that going to run third party SWF. What is the best way to instruct people creating those SWF files?
I don't understand how signing is going to work here. to avoid that I been trying to create a library project in Flash builder 4.7, how ever I do not see an option to export it as SFW file, nor I know a way to share SWC in run time.
So how do I do this?

Coming from a Flash Builder background, how can I import a library into IntelliJ IDEA?

the only IDE I've used for many years was Flash Builder. Sadly the 4.7 version is in a poor state, so, I started looking at other IDE's lately.
I'm trying IDEA, but I don't know how to add a library to my project.
In FB it was simple, I go to the compiler settings and I just add a folder or swc. But here, it seems like there are 2 options, one under the "Libraries" tab and other is creating a new module, however, this new module requires a main app, SDK, and a lot of other stuff that doesn't make any sense to have in a library.
So, what is the equivalent of adding a library path here?.
Thanks.
"Libraries" is the correct way to do it. There are two kinds of libraries: libraries and global libraries. Global libraries can configured once and used in every project. Libraries are configured for each project. See http://www.jetbrains.com/idea/webhelp/configuring-project-and-global-libraries.html

How to package library in ActionScript3 (.jar equivalent?)

I am creating a library in AS3. Inside the library I make use of a bunch of classes/packages that need not be exposed to the end user of my lib. I want to only expose one of these classes.
I guess my questions are:
1) How are libraries commonly distributed in AS3?
2) Is there a .jar equivalent in AS3 that developers can include, but will only have access/knowledge of the classes I've declared as public?
Thanks!
AS3 libraries are called SWCs. Like JARs they are just ZIP archives with some metadata included. You can build libraries either using Flash Builder library projects or mxmlc compiler in Flex SDK which is described for example here.
Good practice is to distribute SWC or source code. With docs or readme file of course.
Is it possible to create a SWC file without using the Flex framework?
I just want bare-bone AS3.
Yes we are not forced into using flex, in fact Adobe doesn't even support Flex as their product officially anymore as it is now an open-source apache project. http://blogs.apache.org/flex/
The compiler itself for flash is open-source and free to use, that is why there are many third party IDEs and development tools that can also produce SWC libraries. The compiler just requires a special xml file in a zip in order to make a swc. So if you want to avoid doing this manually to the spec its just a matter of choosing a gui way to do this.
One of the most popular one open-source gui ways atm I believe is Flash Develop http://www.flashdevelop.org/ which has a plugin to do what you want. http://www.flashdevelop.org/community/viewtopic.php?f=4&t=2987
This IDE is highly recommended but if you need something more cross platform, I recommend Intellij Idea which is a great as3 and java ide, since you know what jar files are.
"only have access/knowledge of the classes I've declared as public?"
The classes in your swc will be no different to being part of your main project so if you create a swc with public or private it will be public or private the same way. To be honest though most code shared by blogs and repositories in the community are just raw *.as files, swc is handy however for shared libraries in a team and can make this more organised.