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 [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 --------------------~--> Most low income households are not online. Help bridge the digital divide today! http://us.click.yahoo.com/cd_AJB/QnQLAA/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/