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 [email protected], "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: [email protected] > > [mailto:[EMAIL PROTECTED] On Behalf Of Greg Johnson > > Sent: Tuesday, November 01, 2005 8:05 AM > > To: [email protected] > > 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 [email protected], "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: [email protected] > > [mailto:[EMAIL PROTECTED] On > > > Behalf Of Greg Johnson > > > Sent: Tuesday, November 01, 2005 9:43 AM > > > To: [email protected] > > > 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 > > > [dgColumn.columnName]); > > > } > > > > > > // Formats a dataGrid cell as a string that is x > > > characters long followed by an elipse > > > public function shortString(dpItem:Object, > > > dgColumn:DataGridColumn, x:Number):String { > > > var tmpString:String; > > > tmpString = dpItem[dgColumn.columnName]; > > > if (tmpString.length > x) { > > > tmpString = tmpString.substr(0,x); > > > tmpString = tmpString.concat('...'); > > > } > > > return tmpString; > > > } > > > } > > > > > > // General Error Window Handlers > > > public class errHandlers { > > > // CFC Error Handler Function > > > public function cfcerr(cfcName:String, > > > functionName:String, faultCode:String, faultString:String, > > > description:String, details:String):Void { > > > var cfcErrPopUp:cfcError = cfcError > > > (PopUpManager.createPopUp(this, cfcError, true)); > > > cfcErrPopUp.cfcName.text = cfcName; > > > cfcErrPopUp.functionName.text = functionName; > > > cfcErrPopUp.faultCode.text = faultCode; > > > cfcErrPopUp.faultString.htmlText = > > > faultString; > > > cfcErrPopUp.description.htmlText = > > > description; > > > cfcErrPopUp.detail.htmlText = details; > > > } > > > > > > // Error Handler Function > > > public function err(message:String, > > > source:String):Void { > > > var errpop:stdErr = stdErr > > > (PopUpManager.createPopUp(this, stdErr, true)); > > > errpop.source.text = source; > > > errpop.message.text = message; > > > } > > > } > > > } > > > > > > In the .as file I put > > > > > > import mrstd.errHandlers.err; > > > > > > and then down in the script I make a call to the err function > > > > > > err("sometext","sometitle"); > > > > > > But I get an error at that line saying "Access of undefined > > property > > > err" > > > > > > > > > > > > > > > > > > > > > > > > -- > > > Flexcoders Mailing List > > > FAQ: > > http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt > > > Search Archives: http://www.mail-archive.com/flexcoders% > > 40yahoogroups.com > > > Yahoo! Groups Links > > > > > > > > > > > > > > > > > > > > > > > ------------------------ Yahoo! Groups Sponsor > > --------------------~--> > > Get Bzzzy! (real tools to help you find a job). Welcome to > > the Sweet Life. > > http://us.click.yahoo.com/A77XvD/vlQLAA/TtwFAA/nhFolB/TM > > -------------------------------------------------------------- > > ------~-> > > > > -- > > Flexcoders Mailing List > > FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt > > Search Archives: > > http://www.mail-archive.com/flexcoders%40yahoogroups.com > > Yahoo! Groups Links > > > > > > > > > > > > > > > ------------------------ Yahoo! Groups Sponsor --------------------~--> Get Bzzzy! (real tools to help you find a job). Welcome to the Sweet Life. http://us.click.yahoo.com/A77XvD/vlQLAA/TtwFAA/nhFolB/TM --------------------------------------------------------------------~-> -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com Yahoo! Groups Links <*> To visit your group on the web, go to: http://groups.yahoo.com/group/flexcoders/ <*> To unsubscribe from this group, send an email to: [EMAIL PROTECTED] <*> Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/

