Welcome to my website. I am always posting links to photo albums, art, technology and other creations. Everything that you will see on my numerous personal sites is powered by the formVistaTM Website Management Engine.

icon.linkedin.jpgicon.twitter.jpg

  • Subscribe to this RSS Feed
  • Dynamically Instantiating New Objects in ActionScript 3.0
    12/26/2007 9:51AM
    Let's say you are building an application and want to be able to dynamically instantiate new objects in AS 3.0 (Flash CS3)?

    Read on for the answer . . .
    The syntax for doing this has drastically changed from AS 2.0, however there is still one gotcha that remains the same.

    In my case, I'm not only dynamically instantiating class names, but also their reference names.

    Here's how I figured out how to do it:

    // Import the getDefinitionByName util and your class
    import flash.utils.getDefinitionByName;
    import com.example:ExampleClass;

    // Create a variable to store a reference to your new class
    var classReference:ExampleClass;

    // Create a class object and use getDefinitionByName to specify the name of the class you are instantiating.
    var class_tempClass:Class = Class(getDefinitionByName("com.example:ExampleClass"));
    classReference = new class_tempClass();


    This works great.  However, what if you don't know what classes you'll be instantiating and want to be able to leave that open at runtime?  This is where it's the same in 2.0.  If you don't include the reference to the class at compile time (var classReference:ExampleClass; ) you cannot dynamically instantiate this class, regardless of whether or not it is in your class path.

    As a result, you are left with having to decide which classes you might want to instantiate at runtime and somewhere in your code, include a reference to each class such that it's included at compile time.

    Another AS 3.0 programmer indicated that it might be possible to dynamically load a swf that includes a reference to that class, but you would have to load and make sure that that swf has initialized before attempting to instantiate the object.

    Maybe a way to go about it is to keep a library of swf files that have the same name as the class that you want to instantiate and write a utility that will dynamically instantiate objects.  The first thing it would do is load a swf with a reference to the class, then it would instantiate the object, returning to the calling code a reference to the newly created instance.

    I think I'll give that a try and then post and update to this thread with my findings.




  • Web Design Safe Areas for Common Screen Resolutions
    12/21/2007 7:55AM
    When you are designing a website one of the first things that you have to decide is the screen resolution that your audience will be using.  There are still plenty of people out there using 1024x768 or, in some cases, smaller resolutions.

    800x600 monitors: 760x410
    1024x768 monitors: 960x575


  • Online Subversion Book
    12/20/2007 3:26PM
  • Using svn over ssh on Windows to access a Subversion repository
    12/20/2007 10:31AM
    I'm working on a project whereby I need to access an svn Subversion repository over ssh (svn+ssh) on a Windows box.  Following is a step by step of how I got it all working using the svn command line client on Windows XP connecting to a Subversion repository on a linux box running CentOS 5.

    Click on "Read More" for the whole article on how to get it all set up.
    First I downloaded and installed a windows binary of subversion, so that I would have the svn client executables.

    I went the extra step and set up ssh keys between the widows client and the server so that I could svn without having to enter a password each time.  To so so:
    • Download plink.exe, pageant.exe, and puttygen.exe from the Putty website.
    • Run puttygen.exe to generate a private and public key.
    • After the key has been generated, click on the "Save private key" button towards the bottom of the puttygen dialogue box.  Put it somewhere handy, you'll need to refer to it later when calling your ssh client.
    • Towards the top of the window is a field that says "Public key for pasting into OpenSSH authorized_keys file:"  Login to your server where your Subversion repository resides.  Append this string to your home/.ssh/authorized_keys file (if it doesn't yet exist, create it and add the key string).
    • Make sure that you chmod 600 your authorized_keys file so that it is only readable and writeable by the owner of the /home/.ssh directory, otherwise you won't be able to use it to ssh to your server.
    Start pageant.exe and load the private key you just generated. Copy a Pageant shortcut to "Startup" under the "All Programs" item on your Start menu. Add the path to your directory that contains plink:
    • Right-click on My Computer and select Properties
    • Click on the Advanced tab and click on Environmental Variables
    • Append the following to the Path System variables:
    • C:\Path\to\plink\dir
    • Restart your machine
    Test:  From the command line type: plink.exe username@server If it is set up properly you'll find yourself logged into your serve without a password prompt.
    Next, we'll configure Subversion to use plink for the ssh client.
    • Before you can edit the Subversion config file, you need to fire up a command line terminal and simply type svn.
    • You should get Type 'svn help' for usage.  That means Subversion in installed and ready to go.
    • Once you have done that, your configurations file will have been generated in your users Documents and Settings Directory.
    • Edit the Subversion config file for your user.  You should be able to find it under C:\Documents and Settings\username\Application Data\Subversion\config.
    • In some instances the Subversion directory isn't created in Application Data directory for the user.  In that case, I've included a .zip file attached to this article entry.  Simply download the Subversion.zip file, unzip and place the folder in your C:\Documents and Settings\username\Application Data\ folder.
    • If you are running Windows 7 or Windows Server 2008 the folder will be C:\Users\username\AppData\Roaming\
    Scroll down until you find the [tunnels]section. Add the following:  ssh=plink To add a configuration for the text editor program that you will use to enter notes with each svn commit command, add the following line:  editor-cmd = notepad That should do it.

    Try checking out a copy from your repository.
    • Open up a Command Prompt and type:
    • svn co svn+ssh://user@server/path/to/repository dir_name_for_code
    • That should check out a version of your code from your repository and you should be good to to.
    Attachment: subversion.zip 8136 bytes
  • Using FlashVars with ActionScript 3.0
    12/17/2007 6:07PM
    I'm working on a video component in AS 3.0 that takes the location of a dynamically generated xml file and passes it to a SWF via FlashVars.

    3.0 deals with FlashVars and query string variables much differently than 2.0.

    Here's an article that'll get you going in the right direction.
Advanced Search

Categories

Archives