[flexcoders] Re: Flex 2:Package/Class problem

2005-11-02 Thread Greg Johnson
Well that definatly clears up a few things that were confusing me.

Basicaly what I am doing is that we have several intrAnet 
applications that we are trying to create a central reporting system 
for.

In all cases the reports will be based on a person or list of 
people.  We have a tabed interface where the first tab lets the 
manager build the list of people.  They can do this either by 
searching for and selecting individual people which builds a list of 
people's unique campus wide ID, or using departments and department 
codes, or eventually companies and company codes.

When you click on the next tab it takes whichever type of list the 
manager built and generates a list of whatever in a dataGrid.  You 
can then double click on a row and it uses a accordian to show a 
viewstack with all the details for that record.

However instead of coding the visual part all in one mxml file I have 
a main mxml file with the search, then each additional tab I have in 
a seperate mxml file as a component.  So in the tabNavigator I simply 
add lines like local:otdTab id=otdTabHandle/

When I am inside one of the components I want to access the same 
doubleclick function I use in the main mxml.  However since the as 
file the doubleclick code is in is included in the main mxml the 
component can't see the function.  I have to add the 
mx.core.Application.application. in order for the component to 
see it.

So what I would rather do is just be able to add a include or 
something in the component making the functions already loaded in the 
main file available to the component file.
--- In flexcoders@yahoogroups.com, Roger Gonzalez [EMAIL PROTECTED] 
wrote:

 This seems like you're talking about a couple different things here.
 I'm not sure I understand where mx.core.Application.application 
comes
 into it.
 
 You can do the same thing with source as you can with a SWC;
 
 Make a new directory tree, looks like you're using mrstd.
 
 Then, you'll make one source file per class (that you are currently
 putting in one file).  Name the source file the same as the 
classname.
 
 BTW - several of your utility functions should probably really be 
static
 - there's no reason to create a class instance just to call a 
function
 when there are no vars on the object!
 
 Add the directory one level above the mrstd directory to your
 actionscript-classpath (either via the flex-config file or by 
setting it
 in FlexBuilder; Project  ActionScript Build Path  Class path.
 
 When you want to use these classes from some other file, just do
 import mrstd.*;
 
 Use the classes as you would expect.
 
 This should get you most of the way there.
 
 Ok, so what if you want to hand your mrstd classes off to someone 
else?
 Or maybe you don't want to keep compiling them?  That's when you 
need a
 SWC.  Unfortunately, the alpha build of FlexBuilder doesn't have 
any SWC
 support built-in, so you need to drop down to the command line.
 
 Run compc.exe -i source source source -o mrstd.swc
 
 Go back into FlexBuilder, and remove the mrstd directory from the
 classpath, and add the mrstd.swc file to the library path tab.
 
 Is this what you need?
 
 -Roger
 
 Roger Gonzalez
 mailto:[EMAIL PROTECTED]
  
 
  -Original Message-
  From: flexcoders@yahoogroups.com 
  [mailto:[EMAIL PROTECTED] On Behalf Of Greg Johnson
  Sent: Tuesday, November 01, 2005 11:45 AM
  To: flexcoders@yahoogroups.com
  Subject: [flexcoders] Re: Flex 2:Package/Class problem
  
  This is a part I didn't even get a chance to get into with 1.5 so 
im 
  coming kinda late in 2.
  
  In my post you saw the functions that I want to make so I can use 
  them all over without having to 
  use mx.core.Application.application. every time I use one.
  
  Most of them I use in .as files not .mxml files.  And the ones I 
use 
  in the .mxml files I usually use as function calls.  Like for a 
grid 
  column that contains a date, I use the dateFunction parameter and 
  give the function name.
  
  I have looked at the interface and class builder wizards.  But 
  didn't really get anywhere with them.  I definatly need to 
optimize 
  as much as I can as the applications I will be working on are 
going 
  to be extensive in some cases.
  
  Can you point me somewhere that shows how to build a library 
that I 
  can use in any code I have by just putting in the import 
  mylib.whatever.*?
  
  Thanks
  Greg
  
  --- In flexcoders@yahoogroups.com, Roger Gonzalez 
[EMAIL PROTECTED] 
  wrote:
  
   How so?  A library isn't one file.
   
   You should package everything up by making a manifest file so 
that 
  you
   can use your classes as MXML tags, and then use compc.exe to 
bundle 
  a
   SWC.  You can also bundle in additional stuff like icons and 
CSS and
   whatnot.
   
   Its a much more efficient distribution and packaging mechanism!
   
   -Roger
   
   Roger Gonzalez
   mailto:[EMAIL PROTECTED]

   
-Original Message-
From: flexcoders@yahoogroups.com

RE: [flexcoders] Re: Flex 2:Package/Class problem

2005-11-02 Thread Roger Gonzalez
 When I am inside one of the components I want to access the 
 same doubleclick function I use in the main mxml.  However 
 since the as file the doubleclick code is in is included in 
 the main mxml the component can't see the function.  I have 
 to add the mx.core.Application.application. in order for 
 the component to see it.

The key here is to stop thinking about it as inclusion.  That will
lead to very brittle applications where you can't easily write reusable
code.

What you need to do is to have your application pass a reference to
either your application or pieces of your application down to your
helper classes.  One option is to simply pass a reference to a
particular Function down to your helper code.  However, I prefer using
interfaces; here's an example:

I'm going to skip a lot of syntactic sugar (imports and package and
whatnot) in order to try to type this in this lousy email IDE.  No
promises that it will actually work, I haven't tested this because
Microsoft Outlook doesn't have a run button.  :-)

// IGreeting.as - interface for things that know how to print greetings
public interface IGreeting
{
function get greet():String;
}

// World.as - a little object that uses the services of a greeter
public class World
{
   public function set greeting( greeting:IGreeting ):Void
   {
 _greeting = greeting;
   }
   public function get print():String
   {
 return _greeting.greet +  world;
   }

   private var _greeting:IGreeting;
}

// MyApp.mxml - an app that implements the IGreeting interface and lets
// its services be used by the World object.  (Could just as easily be
an .as app!)

mx:Application implements=IGreeting initialize=setup()
  mx:Script
private var world:World = new World();
private function setup():Void
{
  world.greeting = this;
}
public function get greet()
{
   return hello;
}
  /mx:Script
  mx:Button label={world.print} /
/mx:Application


So, if I were writing this stuff, I might not want to have the IGreeting
implementation in the app, I might want to reuse that as well.  So, lets
treat it as a sort of mixin...

// HelloGreeter.as
public class HelloGreeter implements IGreeting
{
   public function get greet()
   {
  return hello;
   }
}

Just for kicks, lets add a different IGreeting implementation.

// HowdyGreeter.as
public class HowdyGreeter implements IGreeting
{
   public function get greet()
   {
  return howdy;
   }
}

// MyApp.mxml - mostly the same app, except this one delegates the
greetings.
// We'll also make it so it can change greeters on the fly
mx:Application initialize=setup()
  mx:Script
private var world:World;
private function setup():Void
{
   world = new World();
   world.greeting = new HelloGreeter();
}
private function change():Void
{
   world.greeting = new HowdyGreeter();
}
  /mx:Script
  mx:Button label={world.print} /
  mx:Button label=change the greeting click=change() /
/mx:Application


All of the reusable classes (IGreeting, HelloGreeter, HowdyGreeter,
World) could easily be put off in a dedicated package hierarchy so that
they could be shared between multiple apps.  To really encapsulate them,
package them up into a SWC library using compc.exe.

Hope this gives you some ideas,

-rg


 -Original Message-
 From: flexcoders@yahoogroups.com 
 [mailto:[EMAIL PROTECTED] On Behalf Of Greg Johnson
 Sent: Wednesday, November 02, 2005 6:05 AM
 To: flexcoders@yahoogroups.com
 Subject: [flexcoders] Re: Flex 2:Package/Class problem
 
 Well that definatly clears up a few things that were confusing me.
 
 Basicaly what I am doing is that we have several intrAnet 
 applications that we are trying to create a central reporting 
 system for.
 
 In all cases the reports will be based on a person or list of 
 people.  We have a tabed interface where the first tab lets 
 the manager build the list of people.  They can do this 
 either by searching for and selecting individual people which 
 builds a list of people's unique campus wide ID, or using 
 departments and department codes, or eventually companies and 
 company codes.
 
 When you click on the next tab it takes whichever type of 
 list the manager built and generates a list of whatever in a 
 dataGrid.  You can then double click on a row and it uses a 
 accordian to show a viewstack with all the details for that record.
 
 However instead of coding the visual part all in one mxml 
 file I have a main mxml file with the search, then each 
 additional tab I have in a seperate mxml file as a component. 
  So in the tabNavigator I simply add lines like local:otdTab 
 id=otdTabHandle/
 
 When I am inside one of the components I want to access the 
 same doubleclick function I use in the main mxml.  However 
 since the as file the doubleclick code is in is included in 
 the main mxml the component can't see the function.  I have 
 to add the mx.core.Application.application. in order

[flexcoders] Re: Flex 2:Package/Class problem

2005-11-01 Thread Greg Johnson
Hmm, well that pokes a hole in that plan.  If I have to create a 
bunch of different files it kinda is contrary to my goal of combining 
things into one main generic library :(

--- In flexcoders@yahoogroups.com, Geoffrey Williams [EMAIL PROTECTED] 
wrote:

 You can only have one public function / class / prop per .as file. 
Also, the
 .as files name must match that of the function / class / prop.
 
 -Original Message-
 From: flexcoders@yahoogroups.com 
[mailto:[EMAIL PROTECTED] On
 Behalf Of Greg Johnson
 Sent: Tuesday, November 01, 2005 9:43 AM
 To: flexcoders@yahoogroups.com
 Subject: [flexcoders] Flex 2:Package/Class problem
 
 I am tryinig to create a class with functions that I use repeatedly 
 so I can just include them in different components/applications.  
As 
 far as I can tell I have written it correctly, but when I use an 
 include, and they try calling one of the functions, it doesn't work.
 
 Here is the package
 package mrstd{
   // Imported Libraries
   import mx.managers.PopUpManager;
   import mx.containers.TitleWindow;
   import mx.controls.gridclasses.DataGridColumn;
   import mx.managers.DragManager;
   import mx.events.DragEvent;
   import mx.formatters.*
   import flash.util.Timer;
 
   // Standard Library Class
   public class stdlib {
   // Does what it says, used when a function has to be 
 called, but you don't actually want to do anything
   public function doNothing():Void {} 
 
   // Get Today's Date as a string
   public function getToday():String {
   var today_date:Date = new Date();
   var date_str:String = ((today_date.getMonth()
 +1)+/+today_date.getDate()+/+today_date.getFullYear());
   return date_str;
   }
   }
   
   // Mouse Related Functions
   public class mouseHandlers {
   // Handles drag and drop events.
   public function doDragDrop(event:DragEvent):Void {
   private var items:Array = 
 event.dragSource.dataForFormat(items);
   private var dest:Object = event.currentTarget;
   private var dropLoc:int = dest.getDropLocation
 ();
   dest.hideDropFeedback(event);
   items.reverse();
   var l:int = items.length;
   for(var i:int = 0; i  l; i++) {
   dest.dataProvider.addItemAt(items[i], 
 dropLoc);
   }
   event.preventDefault();
   }   
 
   // Variables used for detectDoubleClick function
   private var lastClick:int = 0;
   private var lastObject:Object = new Object();;
   private var lastIndex:int = 0;
   private var maxTicks:int = 300;
 
   // Detect if a double click was made and if so, call 
 a function
   public function detectDoubleClick(event:Object, 
 functionToCall:Function, ... args):Void {
   var currentClick:int;
   var currentObject:Object;
   var currentIndex:int;
   var clickDif:int;
   currentClick = getTimer();
   currentObject = event.target;
   currentIndex = event.index;
   clickDif = currentClick - lastClick;
   if( clickDif = maxTicks  currentObject == 
 lastObject  currentIndex == lastIndex ) {
   lastClick = currentClick;
   lastObject = currentObject;
   lastIndex = currentIndex;
   if (args[0] == null) {
   functionToCall();
   } else {
   functionToCall(args);
   }
   }
   lastClick = currentClick;
   lastObject = currentObject;
   lastIndex = currentIndex;
   }
   }
   
   // Standard Formaters
   public class formaters {
   private var StdMoneyFormat:CurrencyFormatter = new 
 CurrencyFormatter();
   private var StdDateFormat:DateFormatter = new 
 DateFormatter();
   StdMoneyFormat.precision=2;
   // Formats a dataGrid cell as money
   public function formatMoney(dpItem:Object, 
 dgColumn:DataGridColumn):String {
   return StdMoneyFormat.format(dpItem
 [dgColumn.columnName]);
   }
 
   // Formats a dataGrid cell as a date
   public function formatDate(dpItem:Object, 
 dgColumn:DataGridColumn):String {
   return StdDateFormat.format(dpItem
 

RE: [flexcoders] Re: Flex 2:Package/Class problem

2005-11-01 Thread Roger Gonzalez
How so?  A library isn't one file.

You should package everything up by making a manifest file so that you
can use your classes as MXML tags, and then use compc.exe to bundle a
SWC.  You can also bundle in additional stuff like icons and CSS and
whatnot.

Its a much more efficient distribution and packaging mechanism!

-Roger

Roger Gonzalez
mailto:[EMAIL PROTECTED]
 

 -Original Message-
 From: flexcoders@yahoogroups.com 
 [mailto:[EMAIL PROTECTED] On Behalf Of Greg Johnson
 Sent: Tuesday, November 01, 2005 8:05 AM
 To: flexcoders@yahoogroups.com
 Subject: [flexcoders] Re: Flex 2:Package/Class problem
 
 Hmm, well that pokes a hole in that plan.  If I have to create a 
 bunch of different files it kinda is contrary to my goal of combining 
 things into one main generic library :(
 
 --- In flexcoders@yahoogroups.com, Geoffrey Williams [EMAIL PROTECTED] 
 wrote:
 
  You can only have one public function / class / prop per .as file. 
 Also, the
  .as files name must match that of the function / class / prop.
  
  -Original Message-
  From: flexcoders@yahoogroups.com 
 [mailto:[EMAIL PROTECTED] On
  Behalf Of Greg Johnson
  Sent: Tuesday, November 01, 2005 9:43 AM
  To: flexcoders@yahoogroups.com
  Subject: [flexcoders] Flex 2:Package/Class problem
  
  I am tryinig to create a class with functions that I use repeatedly 
  so I can just include them in different components/applications.  
 As 
  far as I can tell I have written it correctly, but when I use an 
  include, and they try calling one of the functions, it doesn't work.
  
  Here is the package
  package mrstd{
  // Imported Libraries
  import mx.managers.PopUpManager;
  import mx.containers.TitleWindow;
  import mx.controls.gridclasses.DataGridColumn;
  import mx.managers.DragManager;
  import mx.events.DragEvent;
  import mx.formatters.*
  import flash.util.Timer;
  
  // Standard Library Class
  public class stdlib {
  // Does what it says, used when a function has to be 
  called, but you don't actually want to do anything
  public function doNothing():Void {} 
  
  // Get Today's Date as a string
  public function getToday():String {
  var today_date:Date = new Date();
  var date_str:String = ((today_date.getMonth()
  +1)+/+today_date.getDate()+/+today_date.getFullYear());
  return date_str;
  }
  }
  
  // Mouse Related Functions
  public class mouseHandlers {
  // Handles drag and drop events.
  public function doDragDrop(event:DragEvent):Void {
  private var items:Array = 
  event.dragSource.dataForFormat(items);
  private var dest:Object = event.currentTarget;
  private var dropLoc:int = dest.getDropLocation
  ();
  dest.hideDropFeedback(event);
  items.reverse();
  var l:int = items.length;
  for(var i:int = 0; i  l; i++) {
  dest.dataProvider.addItemAt(items[i], 
  dropLoc);
  }
  event.preventDefault();
  }   
  
  // Variables used for detectDoubleClick function
  private var lastClick:int = 0;
  private var lastObject:Object = new Object();;
  private var lastIndex:int = 0;
  private var maxTicks:int = 300;
  
  // Detect if a double click was made and if so, call 
  a function
  public function detectDoubleClick(event:Object, 
  functionToCall:Function, ... args):Void {
  var currentClick:int;
  var currentObject:Object;
  var currentIndex:int;
  var clickDif:int;
  currentClick = getTimer();
  currentObject = event.target;
  currentIndex = event.index;
  clickDif = currentClick - lastClick;
  if( clickDif = maxTicks  currentObject == 
  lastObject  currentIndex == lastIndex ) {
  lastClick = currentClick;
  lastObject = currentObject;
  lastIndex = currentIndex;
  if (args[0] == null) {
  functionToCall();
  } else {
  functionToCall(args);
  }
  }
  lastClick = currentClick;
  lastObject = currentObject;
  lastIndex = currentIndex;
  }
  }
  
  // Standard Formaters
  public class formaters {
  private var StdMoneyFormat:CurrencyFormatter = new

[flexcoders] Re: Flex 2:Package/Class problem

2005-11-01 Thread Greg Johnson
This is a part I didn't even get a chance to get into with 1.5 so im 
coming kinda late in 2.

In my post you saw the functions that I want to make so I can use 
them all over without having to 
use mx.core.Application.application. every time I use one.

Most of them I use in .as files not .mxml files.  And the ones I use 
in the .mxml files I usually use as function calls.  Like for a grid 
column that contains a date, I use the dateFunction parameter and 
give the function name.

I have looked at the interface and class builder wizards.  But 
didn't really get anywhere with them.  I definatly need to optimize 
as much as I can as the applications I will be working on are going 
to be extensive in some cases.

Can you point me somewhere that shows how to build a library that I 
can use in any code I have by just putting in the import 
mylib.whatever.*?

Thanks
Greg

--- In flexcoders@yahoogroups.com, Roger Gonzalez [EMAIL PROTECTED] 
wrote:

 How so?  A library isn't one file.
 
 You should package everything up by making a manifest file so that 
you
 can use your classes as MXML tags, and then use compc.exe to bundle 
a
 SWC.  You can also bundle in additional stuff like icons and CSS and
 whatnot.
 
 Its a much more efficient distribution and packaging mechanism!
 
 -Roger
 
 Roger Gonzalez
 mailto:[EMAIL PROTECTED]
  
 
  -Original Message-
  From: flexcoders@yahoogroups.com 
  [mailto:[EMAIL PROTECTED] On Behalf Of Greg Johnson
  Sent: Tuesday, November 01, 2005 8:05 AM
  To: flexcoders@yahoogroups.com
  Subject: [flexcoders] Re: Flex 2:Package/Class problem
  
  Hmm, well that pokes a hole in that plan.  If I have to create a 
  bunch of different files it kinda is contrary to my goal of 
combining 
  things into one main generic library :(
  
  --- In flexcoders@yahoogroups.com, Geoffrey Williams 
[EMAIL PROTECTED] 
  wrote:
  
   You can only have one public function / class / prop per .as 
file. 
  Also, the
   .as files name must match that of the function / class / prop.
   
   -Original Message-
   From: flexcoders@yahoogroups.com 
  [mailto:[EMAIL PROTECTED] On
   Behalf Of Greg Johnson
   Sent: Tuesday, November 01, 2005 9:43 AM
   To: flexcoders@yahoogroups.com
   Subject: [flexcoders] Flex 2:Package/Class problem
   
   I am tryinig to create a class with functions that I use 
repeatedly 
   so I can just include them in different 
components/applications.  
  As 
   far as I can tell I have written it correctly, but when I use 
an 
   include, and they try calling one of the functions, it doesn't 
work.
   
   Here is the package
   package mrstd{
 // Imported Libraries
 import mx.managers.PopUpManager;
 import mx.containers.TitleWindow;
 import mx.controls.gridclasses.DataGridColumn;
 import mx.managers.DragManager;
 import mx.events.DragEvent;
 import mx.formatters.*
 import flash.util.Timer;
   
 // Standard Library Class
 public class stdlib {
 // Does what it says, used when a function has to be 
   called, but you don't actually want to do anything
 public function doNothing():Void {} 
   
 // Get Today's Date as a string
 public function getToday():String {
 var today_date:Date = new Date();
 var date_str:String = ((today_date.getMonth()
   +1)+/+today_date.getDate()+/+today_date.getFullYear());
 return date_str;
 }
 }
 
 // Mouse Related Functions
 public class mouseHandlers {
 // Handles drag and drop events.
 public function doDragDrop(event:DragEvent):Void {
 private var items:Array = 
   event.dragSource.dataForFormat(items);
 private var dest:Object = event.currentTarget;
 private var dropLoc:int = dest.getDropLocation
   ();
 dest.hideDropFeedback(event);
 items.reverse();
 var l:int = items.length;
 for(var i:int = 0; i  l; i++) {
 dest.dataProvider.addItemAt(items[i], 
   dropLoc);
 }
 event.preventDefault();
 }   
   
 // Variables used for detectDoubleClick function
 private var lastClick:int = 0;
 private var lastObject:Object = new Object();;
 private var lastIndex:int = 0;
 private var maxTicks:int = 300;
   
 // Detect if a double click was made and if so, call 
   a function
 public function detectDoubleClick(event:Object, 
   functionToCall:Function, ... args):Void {
 var currentClick:int;
 var currentObject:Object;
 var currentIndex:int;
 var clickDif:int;
 currentClick = getTimer();
 currentObject = event.target

RE: [flexcoders] Re: Flex 2:Package/Class problem

2005-11-01 Thread Roger Gonzalez
This seems like you're talking about a couple different things here.
I'm not sure I understand where mx.core.Application.application comes
into it.

You can do the same thing with source as you can with a SWC;

Make a new directory tree, looks like you're using mrstd.

Then, you'll make one source file per class (that you are currently
putting in one file).  Name the source file the same as the classname.

BTW - several of your utility functions should probably really be static
- there's no reason to create a class instance just to call a function
when there are no vars on the object!

Add the directory one level above the mrstd directory to your
actionscript-classpath (either via the flex-config file or by setting it
in FlexBuilder; Project  ActionScript Build Path  Class path.

When you want to use these classes from some other file, just do
import mrstd.*;

Use the classes as you would expect.

This should get you most of the way there.

Ok, so what if you want to hand your mrstd classes off to someone else?
Or maybe you don't want to keep compiling them?  That's when you need a
SWC.  Unfortunately, the alpha build of FlexBuilder doesn't have any SWC
support built-in, so you need to drop down to the command line.

Run compc.exe -i source source source -o mrstd.swc

Go back into FlexBuilder, and remove the mrstd directory from the
classpath, and add the mrstd.swc file to the library path tab.

Is this what you need?

-Roger

Roger Gonzalez
mailto:[EMAIL PROTECTED]
 

 -Original Message-
 From: flexcoders@yahoogroups.com 
 [mailto:[EMAIL PROTECTED] On Behalf Of Greg Johnson
 Sent: Tuesday, November 01, 2005 11:45 AM
 To: flexcoders@yahoogroups.com
 Subject: [flexcoders] Re: Flex 2:Package/Class problem
 
 This is a part I didn't even get a chance to get into with 1.5 so im 
 coming kinda late in 2.
 
 In my post you saw the functions that I want to make so I can use 
 them all over without having to 
 use mx.core.Application.application. every time I use one.
 
 Most of them I use in .as files not .mxml files.  And the ones I use 
 in the .mxml files I usually use as function calls.  Like for a grid 
 column that contains a date, I use the dateFunction parameter and 
 give the function name.
 
 I have looked at the interface and class builder wizards.  But 
 didn't really get anywhere with them.  I definatly need to optimize 
 as much as I can as the applications I will be working on are going 
 to be extensive in some cases.
 
 Can you point me somewhere that shows how to build a library that I 
 can use in any code I have by just putting in the import 
 mylib.whatever.*?
 
 Thanks
 Greg
 
 --- In flexcoders@yahoogroups.com, Roger Gonzalez [EMAIL PROTECTED] 
 wrote:
 
  How so?  A library isn't one file.
  
  You should package everything up by making a manifest file so that 
 you
  can use your classes as MXML tags, and then use compc.exe to bundle 
 a
  SWC.  You can also bundle in additional stuff like icons and CSS and
  whatnot.
  
  Its a much more efficient distribution and packaging mechanism!
  
  -Roger
  
  Roger Gonzalez
  mailto:[EMAIL PROTECTED]
   
  
   -Original Message-
   From: flexcoders@yahoogroups.com 
   [mailto:[EMAIL PROTECTED] On Behalf Of Greg Johnson
   Sent: Tuesday, November 01, 2005 8:05 AM
   To: flexcoders@yahoogroups.com
   Subject: [flexcoders] Re: Flex 2:Package/Class problem
   
   Hmm, well that pokes a hole in that plan.  If I have to create a 
   bunch of different files it kinda is contrary to my goal of 
 combining 
   things into one main generic library :(
   
   --- In flexcoders@yahoogroups.com, Geoffrey Williams 
 [EMAIL PROTECTED] 
   wrote:
   
You can only have one public function / class / prop per .as 
 file. 
   Also, the
.as files name must match that of the function / class / prop.

-Original Message-
From: flexcoders@yahoogroups.com 
   [mailto:[EMAIL PROTECTED] On
Behalf Of Greg Johnson
Sent: Tuesday, November 01, 2005 9:43 AM
To: flexcoders@yahoogroups.com
Subject: [flexcoders] Flex 2:Package/Class problem

I am tryinig to create a class with functions that I use 
 repeatedly 
so I can just include them in different 
 components/applications.  
   As 
far as I can tell I have written it correctly, but when I use 
 an 
include, and they try calling one of the functions, it doesn't 
 work.

Here is the package
package mrstd{
// Imported Libraries
import mx.managers.PopUpManager;
import mx.containers.TitleWindow;
import mx.controls.gridclasses.DataGridColumn;
import mx.managers.DragManager;
import mx.events.DragEvent;
import mx.formatters.*
import flash.util.Timer;

// Standard Library Class
public class stdlib {
// Does what it says, used when a 
 function has to be 
called, but you don't actually want to do