Function overriding

Is there a way to avoid overriding a public
method of a base class by the derived classes.
I mean it should not allow the derived classes
to override that public method.
thanks and regards,
mohan

Hi There,
There is no way for a base class to prevent a derived class from declaring anything it wants. If a function is virtual, a function with the same signature in a derived class will override it. There is no way to prevent that happening.
Wanting to prevent it is a sign of incorrect design.
Why would you like to prevent that?
If the base-class function is not virtual, it is not possible to override it in a derived class. A derived class could provide a function with the same name as the base-class function, in which case the base-class function is not visible from objects or pointers
of the derived class type. You can't prevent that either.
If you don't want classes derived from, don't provide any virtual functions, and explain in the documentation that the classes are not intended to be derived from. For example, the classes in the STL portion of the C++ standard library are not intended to be derived
from.
I hope this helps.
....jagruti
Developer Technical Support
Sun Microsystems, http://www.sun.com/developers/support

Similar Messages

  • Virtual function overriding

    Hi
    I am having a strange problem in my application. I have a virtual method in a base class which I override in the sub class. In my application I instantiate the subclass . This virtual function is then called from a function in the base class . Most of the time this works okay i.e. the overriden function from the subclass gets called but sometimes , for some reason , the base class function gets called , although I verified that the subclass has been instantiated properly.
    Any ideas what the problem could be ? . Is there any way to debug this , or view the virtual funtion table.
    Any help would be highly appreciated.
    Thanks
    Santosh

    1. Probably you have slicing problem, it happens when you are passing your derived class object where you have defined to pass base class object. In this case your derived class object will be sliced and you will have base class object.
    You have two solutions-
    1. First thing is you should define the functionality of this function in the base class, bcs it seems this functionality belongs to base class as you are trying to use it there.
    2. Dynamically cast the object to your derived class and then call the function. See if it helps.

  • ID toc function overrides setting in Book

    I’m using ID CS3. I have Book (.indb) consisting of two documents: the front matter and the main body of the text. I’d like to keep the page numbering separate, that is, have the page numbering start over with the first page of main body. If I deselect “Automatically Update Page & Section Numbers” in the Book menu, ID will keep the numbering separate. But if I generate a toc in the frontmatter document and specify “Include Book Document,” ID goes ahead and renumbers the pages of the main body to continue from the frontmatter. How do I get it to stop doing this? Also, very strange behavior. There are 77 sections in the main body. At about section 4 of the main body (which is section 8 of the combined Book), the toc starts including “Sec:” before each page number. There is nothing unusual about section 4. All sections were set up the same.

    You have to got to the page panel, select the first page and in the numbering and sections options in the panel's flyoutmenu you can set the document to start with 1.
    Or double click on the page numbers in the book panel's entries of each document. You get the same menu.

  • How can i sort a single AdvancedDataGridColumn in a AdvancedDataGrid?

    Hello,
    I am using a ADG, which populates the returned data(arraycollection) from database. I'm generating a counter on java side for each returned record and showing that counter in ADGcolumn. I just want to sort that particular column.
    When i debug the application, i'm getting the counter count properly but when its showing in ADG, sorting is missing. when i clicks on coloum header, then only its showing in ascending order, i need to show up in ascending order without clicking on column header.
    Can anyone help me in this issue??

    Hi Johnny,
    Thanks for your helpful code, its really working for me.
    but i have an issue, once i apply the sort, i'm getting number '1' and down arrow symbol on ADGcolumnheader.
    i'm using a itemrenderer to get rid of '1' but i need to make invisible the down arrow symbol too.
    sortExpertMode property is working for other columns but not for the column which i'm applying sort.
    Here is the code which disabling the number on columnheader:
    package
    import mx.controls.advancedDataGridClasses.AdvancedDataGridSortItemRenderer; 
    import mx.core.UITextField; 
    public class ADGSortItemRenderer extends AdvancedDataGridSortItemRenderer{
    public function ADGSortItemRenderer(){
    //TODO: implement function
    override protected function childrenCreated():void{ 
    super.childrenCreated(); 
    //Get reference to sort number text field
    var sortOrderTextField:UITextField = this.getChildAt(0) as UITextField; 
    if(sortOrderTextField != null){ 
    //Hide sort number text field
    sortOrderTextField.includeInLayout =
    false;sortOrderTextField.visible =
    false;}
    here is the image:
    is there any way to disable both the number(1) & down arrow??
    Thanks,
    Shravan P.

  • Problem with Android 4 StageWebView cutting off/covering up buttons on same View

    So I'm trying to pull off something similar to the example here: http://cookbooks.adobe.com/post_Create_a_basic_web_browser_with_StageWebView-18850.html. Basically, a native browser view with a few Flex controls over top. Problem is, I've been running into a lot of display problems on Android 4 devices specifically. As far as I can tell, the StageWebView seems to be preventing the button overhead from being rendered in part or *at all* - as in, the button doesn't show up at all. It's just black.
    See for yourselves. Here's a screenshot (the test page has a yellow background):
    If I touch the screen or the web view, the button will (usually) abruptly show up above the page, where it's supposed to be:
    Anyone else seen anything like this before? Any ideas what it could be?
    Additional information for those who might want it:
    - Project is being developed in Flash Builder 4.6 with the 4.6 SDK. Screenshots are from a Google Nexus 7 tablet (Android version 4.1.2, Adobe AIR version 3.4.0.254).
    - the view in this case is an ActionScript class extending View with a skin. Here's the relevant code:
    [SkinState("ready")]
    [SkinState("loading")]
    public class LogInWebView extends View
              [SkinPart(required="false")]
              public var previousButton:Button;
              private var browser:StageWebView;
              private var url:String;
              private var isFirstPageLoaded:Boolean;
              public function LogInWebView()
                        super();
                        isFirstPageLoaded = false;
              override public function set data(value:Object):void {
                        url = value.url;
                        invalidateProperties();
              // protected functions
              override protected function createChildren():void {
                        super.createChildren();
                        if (url) {
                                  browser = new StageWebView();
                                  browser.viewPort = new Rectangle(0, 0, stage.stageWidth, stage.stageHeight);
                                  browser.addEventListener(Event.COMPLETE, onFirstPageLoaded, false, 0, true);
                                  browser.loadURL(url);
              override protected function partAdded(partName:String, instance:Object):void {
                        super.partAdded(partName, instance);
                        if (instance === previousButton) {
                                  previousButton.addEventListener(MouseEvent.CLICK, onPreviousButtonClick, false, 0, true);
                                  if (browser) {
                                            browser.viewPort = new Rectangle(0, previousButton.height, stage.stageWidth, stage.stageHeight-previousButton.height);
              override protected function commitProperties():void {
                        if (isFirstPageLoaded && currentState != "ready" && browser) {
                                  // display StageWebView now that it's loaded
                                  skin.currentState = "ready";
                                  browser.stage = this.stage;
                        } else if (currentState != "loading") {
                                  skin.currentState = "loading";
                        super.commitProperties();
              // event listeners
              private function onFirstPageLoaded(event:Event):void
                        browser.removeEventListener(Event.COMPLETE, onFirstPageLoaded);
                        isFirstPageLoaded = true;
                        invalidateProperties();
    - note: the button ONLY appears in state "ready" - it's not in state "loading."
    Your thoughts?

    Hi,
    Not sure what your specific problem is, but I have encountered no problems at all by going a stage further with my implementation - it is based on http://soenkerohde.com/?s=stagewebview but I extended it to update on dimension changes of the container.
    EG:
    [code]
    override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void {
    super.updateDisplayList(unscaledWidth,unscaledHeight);
    updateBrowser();
    protected function updateBrowser(event:ResizeEvent=null):void {
    if(myStage && stageWebView) {
      var offsets:Point = new Point();
      offsets = this.localToGlobal(offsets);
      stageWebView.viewPort = new Rectangle(offsets.x, offsets.y, unscaledWidth, unscaledHeight);
    [/code]
    Seems to work for me, anyway. Hope it does for you too.
    G

  • Java printing taking too much time

    Hi all
    I am trying to print whole JFrame but in the printer job the document size is 366 MB. I do not why it is so large to print ???
    JFrame contains a panel and other GUI components like JTable and JLables.
    Here is the working code for this:
    private void print_ButtonActionPerformed(java.awt.event.ActionEvent evt) {                                            
        PrinterJob job = PrinterJob.getPrinterJob();
        job.setPrintable(this);
        boolean doPrint = job.printDialog();
        if (doPrint)
          try
               job.print();
             catch (PrinterException e)
                 e.printStackTrace();
    // below is the print() function
        @Override
        public int print(Graphics graphics, PageFormat pageFormat, int pageIndex) throws PrinterException {
                if (pageIndex > 0) {
                return NO_SUCH_PAGE;
            Graphics2D g2d = (Graphics2D)graphics;
            g2d.translate(pageFormat.getImageableX(), pageFormat.getImageableY());
            /* Print the entire visible contents of a java.awt.Frame */
            this.printAll(g2d);
            return PAGE_EXISTS;
        }

    because everyone is doing the same thing you are... be patient, and you will get the update... I had to grab the update over 3G (it won't let you download or install, but it got me in the door) and then switch back to wifi and download and install.

  • How to align the item text in the combobox vertically centred after increasing the height of the combobox in mfc?

    I want to make the item text of the combobox to  be aligned vertically(Centred) . Actually I increased the height 
    of the combobox and after the increasing the combobox height, the text is not centred vertically.The code
    snippet for increasing the height is as follows,
    m_SpecifyCombo.SetItemHeight(-1,20);//CCombobox m_SpecifyCombo
    After increasing the height the text in the combobox is not in the centre as shown in the below image,
    But I want the text to be centred as shown in the below image.
    Code snippet for owner drawn combobox:
    #if !defined(AFX_CUSTCOMBOBOX_H__F8528B4F_396E_11D1_9384_00A0248F6145__INCLUDED_)
    #define AFX_CUSTCOMBOBOX_H__F8528B4F_396E_11D1_9384_00A0248F6145__INCLUDED_
    #if _MSC_VER >= 1000
    #pragma once
    #endif // _MSC_VER >= 1000
    typedef enum {FONTS} STYLE; //Why have I enumerated, Cos, Maybe I might want something other than Fonts here
    class COwnerDrawCombo : public CComboBox
    // Construction
    public:
    COwnerDrawCombo();
    COwnerDrawCombo (STYLE);
    // Attributes
    public:
    void SetHilightColors (COLORREF hilight,COLORREF hilightText)
    m_clrHilight = hilight;
    m_clrHilightText = hilightText;
    void SetNormalColors (COLORREF clrBkgnd,COLORREF clrText)
    m_clrNormalText = clrText;
    m_clrBkgnd = clrBkgnd;
    static BOOL CALLBACK EnumFontProc (LPLOGFONT lplf, LPTEXTMETRIC lptm, DWORD dwType, LPARAM lpData);
    void FillFonts ();
    int GetSelFont (LOGFONT&);
    // Operations
    public:
    // Overrides
    // ClassWizard generated virtual function overrides
    //{{AFX_VIRTUAL(CCustComboBox)
    public:
    virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
    virtual void MeasureItem(LPMEASUREITEMSTRUCT lpMeasureItemStruct);
    protected:
    virtual void PreSubclassWindow();
    //}}AFX_VIRTUAL
    // Implementation
    public:
    virtual ~COwnerDrawCombo();
    // Generated message map functions
    protected:
    STYLE m_enStyle;
    COLORREF m_clrHilight;
    COLORREF m_clrNormalText;
    COLORREF m_clrHilightText;
    COLORREF m_clrBkgnd;
    BOOL m_bInitOver;
    void DrawDefault (LPDRAWITEMSTRUCT);
    void DrawFont(LPDRAWITEMSTRUCT);
    void InitFonts ();
    //{{AFX_MSG(CCustComboBox)
    afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
    afx_msg void OnDestroy();
    //}}AFX_MSG
    afx_msg long OnInitFonts (WPARAM, LPARAM);
    DECLARE_MESSAGE_MAP()
    //{{AFX_INSERT_LOCATION}}
    // Microsoft Developer Studio will insert additional declarations immediately before the previous line.
    #endif //!defined(AFX_CUSTCOMBOBOX_H__F8528B4F_396E_11D1_9384_00A0248F6145__INCLUDED_)
    // OwnerDrawCombo.cpp : implementation file
    #include "stdafx.h"
    #include "combobox.h"
    #include "OwnerDrawCombo.h"
    #ifdef _DEBUG
    #define new DEBUG_NEW
    #undef THIS_FILE
    static char THIS_FILE[] = __FILE__;
    #endif
    #define WM_INITFONTS (WM_USER + 123)
    //I chose 123 cos nobody might use the same exact number.. I can improve this by use RegisterWindowMessage..
    // COwnerDrawCombo
    //Initial values of the text and highlight stuff
    COwnerDrawCombo::COwnerDrawCombo()
    m_enStyle = FONTS;
    m_clrHilight = GetSysColor (COLOR_HIGHLIGHT);
    m_clrNormalText = GetSysColor (COLOR_WINDOWTEXT);
    m_clrHilightText = GetSysColor (COLOR_HIGHLIGHTTEXT);
    m_clrBkgnd = GetSysColor (COLOR_WINDOW);
    m_bInitOver = FALSE;
    COwnerDrawCombo::COwnerDrawCombo (STYLE enStyle)
    m_enStyle = enStyle;
    m_clrHilight = GetSysColor (COLOR_HIGHLIGHT);
    m_clrNormalText = GetSysColor (COLOR_WINDOWTEXT);
    m_clrHilightText = GetSysColor (COLOR_HIGHLIGHTTEXT);
    m_clrBkgnd = GetSysColor (COLOR_WINDOW);
    m_bInitOver =FALSE;
    COwnerDrawCombo::~COwnerDrawCombo()
    BEGIN_MESSAGE_MAP(COwnerDrawCombo, CComboBox)
    //{{AFX_MSG_MAP(COwnerDrawCombo)
    ON_WM_CREATE()
    ON_WM_DESTROY()
    //}}AFX_MSG_MAP
    ON_MESSAGE (WM_INITFONTS,OnInitFonts)
    END_MESSAGE_MAP()
    // COwnerDrawCombo message handlers
    void COwnerDrawCombo::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct)
    //I might want to add something else someday
    switch (m_enStyle)
    case FONTS:
    DrawFont(lpDrawItemStruct);
    break;
    //I dont need the MeasureItem to do anything. Whatever the system says, it stays
    void COwnerDrawCombo::MeasureItem(LPMEASUREITEMSTRUCT lpMeasureItemStruct)
    void COwnerDrawCombo::DrawFont(LPDRAWITEMSTRUCT lpDIS)
    CDC* pDC = CDC::FromHandle(lpDIS->hDC);
    CRect rect;
    TRACE0 ("In Draw Font\n");
    // draw the colored rectangle portion
    rect.CopyRect(&lpDIS->rcItem);
    pDC->SetBkMode( TRANSPARENT );
    if (lpDIS->itemState & ODS_SELECTED)
    pDC->FillSolidRect (rect,m_clrHilight);
    pDC->SetTextColor (m_clrHilightText);
    else
    pDC->FillSolidRect (rect,m_clrBkgnd);
    pDC->SetTextColor (m_clrNormalText);
    if ((int)(lpDIS->itemID) < 0) // Well its negetive so no need to draw text
    else
    CString strText;
    GetLBText (lpDIS->itemID,strText);
    CFont newFont;
    CFont *pOldFont;
    ((LOGFONT*)lpDIS->itemData)->lfHeight = 90; //9 point size
    ((LOGFONT*)lpDIS->itemData)->lfWidth = 0;
    newFont.CreatePointFontIndirect ((LOGFONT*)lpDIS->itemData);
    pOldFont = pDC->SelectObject (&newFont);
    pDC->DrawText(strText, rect, DT_LEFT | DT_VCENTER | DT_SINGLELINE);
    pDC->SelectObject (pOldFont);
    newFont.DeleteObject ();
    void COwnerDrawCombo::InitFonts ()
    CDC *pDC = GetDC ();
    ResetContent (); //Delete whatever is there
    EnumFonts (pDC->GetSafeHdc(),NULL,(FONTENUMPROC) EnumFontProc,(LPARAM)this);//Enumerate
    m_bInitOver = TRUE;
    BOOL CALLBACK COwnerDrawCombo::EnumFontProc (LPLOGFONT lplf, LPTEXTMETRIC lptm, DWORD dwType, LPARAM lpData)
    if (dwType == TRUETYPE_FONTTYPE) //Add only TTF fellows, If you want you can change it to check for others
    int index = ((COwnerDrawCombo *) lpData)->AddString(lplf->lfFaceName);
    LPLOGFONT lpLF;
    lpLF = new LOGFONT;
    CopyMemory ((PVOID) lpLF,(CONST VOID *) lplf,sizeof (LOGFONT));
    ((COwnerDrawCombo *) lpData)->SetItemData (index,(DWORD) lpLF);
    return TRUE;
    int COwnerDrawCombo::OnCreate(LPCREATESTRUCT lpCreateStruct)
    if (CComboBox::OnCreate(lpCreateStruct) == -1)
    return -1;
    // TODO: Add your specialized creation code here
    if (m_enStyle == FONTS)
    //SetItemHeight(-1,30);
    PostMessage (WM_INITFONTS,0,0);
    return 0;
    long COwnerDrawCombo::OnInitFonts (WPARAM, LPARAM)
    InitFonts ();
    return 0L;
    void COwnerDrawCombo::OnDestroy()
    if (m_enStyle == FONTS)
    int nCount;
    nCount = GetCount ();
    for (int i = 0; i < nCount; i++)
    delete ((LOGFONT*)GetItemData (i)); //delete the LOGFONTS actually created..
    // TODO: Add your message handler code here
    CComboBox::OnDestroy();
    void COwnerDrawCombo::FillFonts ()
    m_enStyle = FONTS;
    PostMessage (WM_INITFONTS,0,0); //Process in one place
    int COwnerDrawCombo::GetSelFont (LOGFONT& lf)
    int index = GetCurSel ();
    if (index == LB_ERR)
    return LB_ERR;
    LPLOGFONT lpLF = (LPLOGFONT) GetItemData (index);
    CopyMemory ((PVOID)&lf, (CONST VOID *) lpLF, sizeof (LOGFONT));
    return index; //return the index here.. Maybe the user needs it:-)
    void COwnerDrawCombo::PreSubclassWindow()
    // TODO: Add your specialized code here and/or call the base class
    //Tried to do what Roger Onslow did for the button.. Did not work..?? Any R&D guys around :-)
    Can anyone please let me know how can I achieve this.
    Any help can be appreciated.
    Thanks in advance
    SivaV

    Hi sivavuyyuru,
    I cannot find a easy way to make this.
    I think you may need to draw your own Combo Box control. And you could change the edit control more like static text. Check the article:
    http://www.codeguru.com/cpp/controls/combobox/fontselectioncombos/article.php/c1795/Owner-Drawn-Font-Selection-Combobox.htm
    In the resource editor, Owner draw -> variable , Has string->true, type->drop list.
    The result:
    Best regards,
    Shu Hu
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Looking for 2 Product Solutions for eCommerce site created in Muse and published to BC

    Seeking suggestions for 2 separate BC eCommerce website product applications: I have within BC so far about 200 image in the in a folder in the "File Manager" -AND- each image has been optimized as a low-res digital image down-load product (divided among 20 catalogs).
    #1. Image downloads not for individual purchase but as (a bundle of 6 for one price) and (a bundle of 13 for second price) only.
    I'm trying to customize two BC products a 6 Pack & 13 Pack of digital image downloads. Normally in BC, a visitor could purchase a single image as a downloadable product and after successful check-out they would receive an email containing the download links. I need to disable single unit purchases and enable the customer to ONLY select 6 images for one price -or- select 13 images for one price. After successful check-out they would receive links for either 6 download files or 13 based on their purchase. They could also purchase multiple pack sets.
    #2. Allow the site visitor to select 12 images (from 200 images among 20 catalogs) for a 12 month custom calendar which would be printed and shipped. The BC product here would be a 12 month custom calendar. I have a product listed in BC as a "12-Month Custom Calender" and a display page titled the same. I have been looking into a drag n drop system that would allow the visitor to: purchase the product > select 12 images > submit their select by email to site admin.
    I have limited coding skill and I should mention that I originally created and continue to add-on to the site with Adobe Muse. Because I chose to use Muse, I have been looking for solutions that I can embed in Muse pages as "Objects" as Muse will over-write BC custom elements as it is over-written. I have looked at either using a 12 field drag n drop which might work but I can't determine how to make the 20 catalogs available on the same page to select from.
    Can ANYONE offer suggestions?
    Thanks

    Sorry but in no way will you get that to work using Muse.
    You need to custom trigger the core functionality BC fires to add to cart in the system as well as update the visuals etc, and also overcome some of the BC scripting and what that does and function overrides etc. You need a high end front end developer at the least to be able to help you, and not using Muse.

  • Flex SDK 3.4 Tree Item Renderer Root Folder displays Tooltip for Child

    I have a Flex Tree that uses a custom item renderer.  The item renderer extends Tree Item Renderer and I add my button in commit properties (since the data is dynamic) and I use update displaylist to move it to the right position.  I set the button to be visible on rollover and make the icon invisible. On rollout I reverse that logic.
    When I have my item renderer add the button, it causes only one problem and it seems to be under certain conditions:
    - Single root folder for the tree
    - Upon opening the tree, the root folder displays the tool tip for the last child in the tree
    Any idea why the tooltip comes up?
    public function AssetTreeItemRenderer ()
                super();
                addEventListener(MouseEvent.ROLL_OVER, onItemRollover);
                addEventListener(MouseEvent.ROLL_OUT, onItemRollout);
                addEventListener(ToolTipEvent.TOOL_TIP_SHOWN, toolTipShown);
                addEventListener(ToolTipEvent.TOOL_TIP_CREATE, onCreateToolTip);
            // OVERRIDEN FUNCTIONS
             * override createChildren
            override protected function commitProperties():void {
                super.commitProperties();
                if(data is IAsset) {
                    if(playBtn === null) {
                        playBtn = new Button();
                        playBtn.styleName = "previewPlayButton";
                        playBtn.toolTip = "Play";
                        playBtn.width = icon.width + 2;
                        playBtn.height = icon.height + 2;
                        playBtn.visible = false;
                        playBtn.addEventListener(MouseEvent.CLICK, onPlayBtnClick);
                        addChild(playBtn);
                } else {
                    if(playBtn !== null) {
                        removeChild(playBtn);
                        playBtn = null;
             * override updateDisplayList
             * @param Number unscaledWidth
             * @param Number unscaledHeight
            override protected function updateDisplayList(unscaledWidth:Number,
                                                          unscaledHeight:Number):void
                super.updateDisplayList(unscaledWidth, unscaledHeight);
                //Move our play button to the correct place
                if(super.data && playBtn !== null)
                    playBtn.x = icon.x;
                    playBtn.y = icon.y;

    You are not clearing tooltip if data is not IAsset

  • How to use Swing Components in  JavaFX

    Hi All,
    I am new to JavaFx. I am trying to use java swing components in javafx.
    I found a sample program in net and tried it. But it shows compile time error.
    Code:
    MySwingComponent .fx
    import javafx.ext.swing.SwingComponent;
    import javax.swing.JComponent;
    import javax.swing.JButton;
    import java.awt.event.ActionListener;
    import java.awt.event.ActionEvent;
    * @author nandha
    class MySwingComponent extends SwingComponent{
    var button: JButton;
    public var text: String on replace {
    button.setText(text);
    public var action: function();
    override protected function createJComponent () : JComponent {
    button = new JButton();
    button.addActionListener(ActionListener {
    public override function actionPerformed(e:ActionEvent){
    action();
    return button;
    The above code shows no error.
    Test SwingButton.fx
    import javafx.stage.Stage;
    import javafx.scene.Scene;
    import swingcomponents.MySwingButton;
    * @author nandha
    Stage {
    title: "Swing Button Example"
    scene: Scene {
    width: 250
    height: 80
    content: [
    MySwingButton{  // error message: imcompatible type. found MySwingButton. Required javafx.scene.Node[]
    text: "Click Me!"
    action: function(){
    println("Hello World!");
    This code which used the MySwingButton shows error: imcompatible type. found MySwingButton. Required javafx.scene.Node[] - where i have added the MySwingButton.
    Please help me to fix the error.
    Thanks &Regards,
    Nandha K

    Hi Sasa,
    First thanks for your reply.
    I found the problem and have fixed.
    Problem:
    There is no class MySwingButton in the package swingcomponents. Its MySwingComponent that i should have used, which is a big mistake that i have done. To my surprise i don't know NetBeans didn't show any error message at that line.
    Thanks & Regards,
    Nandha K

  • Can't create object types in forms 10

    Hello,
    I am trying to use object types in forms 10.
    I have already created successfully two object types and also corresponding object views.
    With one object type A everything works fine in form. But with the other object type B it doesn't.
    I am calling the constructor of object B and after the constructor finshed, forms says that there is a numeric or value error.
    Well, by nbow I have reduced attributes from object B so that they are identical to object A (which works). But still get the same error or if I use a different constructor I get NULL as a return value. I tested the constructors with test script in the database directly and viola - the constructor are working fine.
    Only if I use the constructors in forms environment they fail.
    Any ideas why this might happen?
    Thank you
    Matthias
    Well, I fear to use the object types in my next project cause if I run into trouble if the object types are so easy with less code, what else might happen if they are filled up with much more code?

    Hello again,
    I have tried again and still get the exception.
    Now I provide the code. Perhaps someone can see, why this exceptioon occurs.
    In the database I coded the following:
    create or replace type GenericObject as object
    -- Attributes
    iVersion VARCHAR2(8),
    -- Member functions and procedures
    MEMBER FUNCTION toString(SELF IN OUT NOCOPY GenericObject) RETURN VARCHAR2,
    FINAL MEMBER FUNCTION toString001(SELF IN OUT NOCOPY GenericObject) RETURN VARCHAR2,
    NOT INSTANTIABLE MEMBER PROCEDURE log(pLogger IN OUT MyLogger)
    ) NOT INSTANTIABLE NOT FINAL
    create or replace type body GenericObject is
    -- Member procedures and functions
    MEMBER FUNCTION toString(SELF IN OUT NOCOPY GenericObject) RETURN VARCHAR2 IS
    BEGIN
    RETURN SELF.toString001();
    END;
    FINAL MEMBER FUNCTION toString001(SELF IN OUT NOCOPY GenericObject) RETURN VARCHAR2 IS
    BEGIN
    RETURN 'GenericObject(' || SELF.iVersion || ')';
    END;
    end;
    create or replace type MyTestA UNDER GenericObject
    -- Attributes
    iPk VARCHAR2(16),
    iName VARCHAR2(100),
    iDCN NUMBER,
    -- constructor
    CONSTRUCTOR FUNCTION MyTestA(pName VARCHAR2, pDummy INTEGER) RETURN SELF AS RESULT,
    CONSTRUCTOR FUNCTION MyTestA(pPk VARCHAR2) RETURN SELF AS RESULT,
    STATIC FUNCTION mycreate(pName VARCHAR2) RETURN MyTestA,
    -- Member functions and procedures
    OVERRIDING MEMBER FUNCTION toString(SELF IN OUT NOCOPY MyTestA) RETURN VARCHAR2,
    FINAL MEMBER FUNCTION toString002(SELF IN OUT NOCOPY MyTestA) RETURN VARCHAR2,
    OVERRIDING MEMBER PROCEDURE log(SELF IN OUT NOCOPY MyTestA, pLogger IN OUT MyLogger)
    ) NOT FINAL
    create or replace type body MyTestA is
    -- constructors
    CONSTRUCTOR FUNCTION MyTestA(pName VARCHAR2, pDummy INTEGER) RETURN SELF AS RESULT IS
    BEGIN
    SELF.iVersion := '1.1';
    SELF.iPk := 1;
    SELF.iName := pName;
    SELF.iDCN := 1;
    RETURN;
    END;
    CONSTRUCTOR FUNCTION MyTestA(pPk VARCHAR2) RETURN SELF AS RESULT IS
    BEGIN
    SELECT VALUE(o) INTO SELF FROM v_testa o WHERE o.ipk = pPk;
    RETURN;
    END;
    STATIC FUNCTION mycreate(pName VARCHAR2) RETURN MyTestA IS
    BEGIN
    RETURN MyTestA(pName, 1);
    END;
    -- Member procedures and functions
    OVERRIDING MEMBER FUNCTION toString(SELF IN OUT NOCOPY MyTestA) RETURN VARCHAR2 IS
    BEGIN
    RETURN toString002();
    END;
    FINAL MEMBER FUNCTION toString002(SELF IN OUT NOCOPY MyTestA) RETURN VARCHAR2 IS
    lvText VARCHAR2(1000);
    BEGIN
    lvText := SELF.toString001();
    RETURN 'MyTestA(' || iPk || ', ' || iName || ', ' || 'lvHersteller.toString()' || ', ' || lvText || ')';
    END;
    OVERRIDING MEMBER PROCEDURE log(SELF IN OUT NOCOPY MyTestA, pLogger IN OUT MyLogger) IS
    BEGIN
    pLogger.log(toString());
    END;
    end;
    CREATE OR REPLACE VIEW v_testa OF MyTesta
    WITH OBJECT IDENTIFIER (iPk) AS
    SELECT
    '1.0' iVersion
    ,g.pk iPk, g.NAME iName, g.ora_rowscn iDCN FROM o_geraete g
    DROP TABLE o_geraete;
    CREATE TABLE
    o_geraete
    pk VARCHAR2(16)
    , name VARCHAR2(100)
    , hersteller_FK VARCHAR2(16)
    , zaehlernummer VARCHAR2(20)
    , dummy VARCHAR2(10)
    INSERT INTO o_geraete
    VALUES(
    '100', 'Stromzähler', '1', 'AB-56', 'dumb'
    INSERT INTO o_geraete
    VALUES(
    '200', 'Wasserzähler', '2', 'WS-09', 'dumb'
    In forms I created a form from the view and coded into the on-insert-trigger:
    declare
         lvtest mytesta;
    begin
         message('1');
         lvtest := new mytesta(:blk_testa.iname, 1);
         message('2');
         message('3' || lvtest.tostring());
    exception
         when others then
              message('Exception: ' || sqlerrm);
    end;
    And in that forms block I got the exception.
    Perhaps someone has ANY idea...
    Thanx a lot
    Matthias
    Message was edited by:
    user522343
    Message was edited by:
    user522343

  • Alternative to "javafx.io.Resource" and "javafx.io.Storage" in JavaFX 2.2?

    Silverlight has a sandboxed file storage location as well as a facility to store key/value pairs.
    It looks like JavaFX had some similar tools in 1.x, but they appear to be gone in 2.2.
    Can anyone point me toward an alternative for both services?
    Thanks,
    Michael

    Here you go.... I think this is almost reusable as is (my method logging methods need to be removed, and the directory for standalone persistence needs to be changed for your implementation).
    PersistenceApi
    public interface PersistenceApi {
        public InputStream getInputStream(String fileName);
        public boolean createNewFile(String fileName);
        public OutputStream getOutputStream(String fileName);
    }PersistenceManager.... its like a factory, responsible for determining whether or not in Webstart mdoe or not and instantiating the correct implementation of PersistenceApi (not thread safe)
    public class PersistenceManager {
        //static variables
        private static PersistenceApi persistence;
        //public functions
        public static PersistenceApi getPersistenceApi() {
            if (persistence == null) {
                String homeDir = null;
                try {
                    homeDir = System.getProperty(game.CONSTANTS.STANDALONE_INSTALL_DIR_SYSTEM_PROPERTY);
                } catch (SecurityException e) {
                    game.Log.debug("in PersistenceManager.getPersistenceApi, got exception");
                if (homeDir != null) {//...in standalone mode
                    game.Log.debug("in PersistenceManager.getPersistenceApi, in standalone mode, homeDir == " + homeDir);
                    persistence = new StandalonePersistence();
                } else {//...in web start mode
                    game.Log.debug("in PersistenceManager.getPersistenceApi, in web start mode");
                    persistence = new JnlpPersistence();
            return persistence;
    }JnlpPersistence
    public class JnlpPersistence implements PersistenceApi {
        //private variables
        private URL codeBase = null;
        private static PersistenceService persistenceService = null;
        //constructors
        JnlpPersistence() {
            setCodeBase();
            makePersistenceService();
        //private functions
        private void makePersistenceService() {
            if (persistenceService == null) {
                try {
                    persistenceService = (PersistenceService) ServiceManager.lookup("javax.jnlp.PersistenceService");
                } catch (UnavailableServiceException e) {
                    game.Log.debug("in JnlpPersistence.makePersistenceService(), got exception while getting instance of PersistenceService.  " + e.getMessage());
            assert persistenceService != null;
        private void setCodeBase() {
            if (codeBase == null) {
                BasicService bs;
                try {
                    bs = (BasicService) ServiceManager.lookup("javax.jnlp.BasicService");
                    codeBase = bs.getCodeBase();
                } catch (UnavailableServiceException e) {
                    game.Log.debug("in JnlpPersistence.setCodeBase(), got exception while getting codeBase from.  " + e.getMessage());
            assert codeBase != null;
        //public functions
        @Override
        public InputStream getInputStream(String fileName) {
            String thisMethodsName = "in JnlpPersistence.getInputStream(), ";
            URL newFileUrl;
            FileContents newFc;
            try {
                newFileUrl = new URL(codeBase.toExternalForm() + fileName);
                newFc = persistenceService.get(newFileUrl);
                if (newFc == null) {
                    game.Log.debug(thisMethodsName + "filecontents is null for filename = " + fileName);
                    return null;
                if (!newFc.canRead()) {
                    game.Log.debug(thisMethodsName + "filecontents is not readable for filename = " + fileName);
                    return null;
            } catch (Exception e) {
                game.Log.debug(thisMethodsName + "caught exception while getting filecontents for filename = " + fileName + ".  " + e.getMessage());
                return null;
            InputStream is;
            try {
                is = newFc.getInputStream();
            } catch (Exception e) {
                game.Log.debug(thisMethodsName + "caught exception while getting input stream for filename = " + fileName + ".  " + e.getMessage());
                return null;
            return is;
        @Override
        public boolean createNewFile(String fileName) {
            URL newFileUrl;
            try {
                newFileUrl = new URL(codeBase.toExternalForm() + fileName);
                persistenceService.create(newFileUrl, CONSTANTS.MAX_PROFILE_FILE_SIZE);
            } catch (Exception e) {
                game.Log.debug("in JnlpPersistence.createNewFile, got exception while creating file with name = " + fileName + ".  " + e.getMessage());
                return false;
            return true;
        @Override
        public OutputStream getOutputStream(String fileName) {
            String thisMethodsName = "in JnlpPersistence.getOutputStream, ";
            URL newFileUrl;
            FileContents newFc;
            try {
                newFileUrl = new URL(codeBase.toExternalForm() + fileName);
                newFc = persistenceService.get(newFileUrl);
                if (newFc == null) {
                    game.Log.debug(thisMethodsName + "filecontents is null for filename = " + fileName);
                    return null;
                if (!newFc.canWrite()) {
                    game.Log.debug(thisMethodsName + "filecontents is not writeable for filename = " + fileName);
                    return null;
            } catch (Exception ex) {
                game.Log.debug(thisMethodsName + "caught exception while getting filecontents for filename = " + fileName + ".  " + ex.getMessage());
                return null;
            OutputStream os;
            try {
                os = newFc.getOutputStream(true);
            } catch (Exception e) {
                game.Log.debug(thisMethodsName + "caught exception while getting OutputStream for filename = " + fileName + ".  " + e.getMessage());
                return null;
            return os;
    }StandalonePersistence
    public class StandalonePersistence implements PersistenceApi {
        //private variables
        private final String SAVE_DIR = ".tm" + CONSTANTS.PATH_DELIMITTER;
        private String savePath;
        private File savePathFile;
        //constructor
        StandalonePersistence() {
            savePath = System.getProperty(game.CONSTANTS.STANDALONE_INSTALL_DIR_SYSTEM_PROPERTY) + CONSTANTS.PATH_DELIMITTER + SAVE_DIR;
            savePathFile = new File(this.savePath);
            if (savePathFile.exists() == false) {
                savePathFile.mkdir();
        //public functions
        @Override
        public InputStream getInputStream(String fileName) {
            String thisMethod = "in StandalonePersistence.getInputStream, ";
            File file = new File(savePath + CONSTANTS.PATH_DELIMITTER + fileName);
            if (file.exists() == false) {
                game.Log.debug(thisMethod + "file does not exist");
                return null;
            if (file.canRead() == false) {
                game.Log.error(thisMethod + "file is not readable");
                return null;
            InputStream is = null;
            try {
                is = new FileInputStream(file);
            } catch (FileNotFoundException e) {
                game.Log.error(thisMethod + "got exception while getting inputStream. " + e.getMessage());
            return is;
        @Override
        public boolean createNewFile(String fileName) {
            File file = new File(savePath + CONSTANTS.PATH_DELIMITTER + fileName);
            try {
                return file.createNewFile();
            } catch (IOException ex) {
                game.Log.error("in StandalonePersistence.createNewFile, got exception while creating file " + fileName + ".  " + ex.getMessage());
                return false;
        @Override
        public OutputStream getOutputStream(String fileName) {
            String thisMethod = "in StandalonePersistence.getOutputStream, ";
            File file = new File(savePath + CONSTANTS.PATH_DELIMITTER + fileName);
            if (file.exists() == false) {
                game.Log.debug(thisMethod + "file does not exist");
                if (this.createNewFile(fileName) == false) {
                    return null;
                game.Log.debug(thisMethod + "created new file");
            if (file.canWrite() == false) {
                game.Log.error(thisMethod + "file is not writable");
                return null;
            OutputStream os = null;
            try {
                os = new FileOutputStream(file);
            } catch (FileNotFoundException e) {
                game.Log.error(thisMethod + "got exception while getting outputStream. " + e.getMessage());
            return os;
    }Edited by: jmart on Aug 30, 2012 11:17 AM
    Edited by: jmart on Aug 30, 2012 11:20 AM

  • Displaying image in JTable gets me nothing

    Hi everyone,
    I created a subclass of JTable which's TableModel is a subclass of AbstractTableModel. My table is supposed to display images in one of the columns but for some reasons I got nothing displayed in that column. I made the column editable so I can check wheter cells are holding something and when I double click any cell of this column I get the path to the image displayed so I know it's there. When I change the getColumnClass for it to return the String class the path to the image is also displayed.
    Here's the code of the getColumnClass function :
         @Override
         public Class<?> getColumnClass(int columnIndex) {
              Class<?> c = String.class;
              if( columnIndex == 2 ){
                   return ImageIcon.class;
              else if( columnIndex == 4 ){
                   c = JComboBox.class;
              return c;
         }Any idea of what I did wrong ?
    Julien

    Julien_Java_Developer wrote:
    Any idea of what I did wrong ?
    JulienYup. You didn't post a [_SSCCE_|http://mindprod.com/jgloss/sscce.html], so we don't know what data is in your table model, we don't know whether you're silintly swallowing any exceptions, we don't know ...
    Heck, we don't know anything that might help us to suggest a fix.
    Also, it looks like you're storing JComboBoxes in the model, which isn't a good idea.
    db

  • Dreamweaver Form Won't Submit- Says Error page cannot be displayed

    My dreamweaver form won't submit because it says there is an error. Am I doing something wrong? I don't know much about forms and how they submit but I heard that in order for their to be a confirmation page I have to create a php page? Here's my code. Thanks!
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Rental and Availability Information</title>
    <style type="text/css">
    <!--
    @import url("CSS Styles/ThankYou.css");
    .style18 {font-size: 16px; font-weight: bold; }
    .style21 {color: #FFFFFF}
    .style42 {
    font-size: 16px;
    color: #000000;
    font-family: Garamond;
    a:link {
    color: #000000;
    .style43 {
    font-family: Garamond;
    color: #FFFFFF;
    font-weight: bold;
    .style44 {
    font-family: Georgia, "Times New Roman", Times, serif;
    font-size: large;
    -->
    </style>
    <link href="CSS Styles/ActivBorder.css" rel="stylesheet" type="text/css" />
    <link href="CSS Styles/border.css" rel="stylesheet" type="text/css" />
    <style type="text/css">
    <!--
    .style50 {
    font-family: "Goudy Old Style";
    font-weight: bold;
    font-size: 24px;
    color: #FFFFFF;
    .style57 {font-family: Verdana, Arial, Helvetica, sans-serif}
    .style58 {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 14px; }
    -->
    </style>
    </head>
    <body>
    <form id="form2" name="form2" method="post" action="inquiryreceipt.html">
      <table width="556" border="0" align="center" cellspacing="0" bgcolor="#003366" class="ImageBorder">
        <tr>
          <td colspan="3" valign="top"><div align="center" class="style50"><u>Rental and Availability Information</u></div></td>
        </tr>
        <tr>
          <td width="189"><div align="right" class="style18 style57"><span class="style21">Name:</span></div></td>
          <td colspan="2"><input name="name" type="text" id="name" size="50" maxlength="100" /></td>
        </tr>
        <tr>
          <td><div align="right" class="style18 style57"><span class="style21">Property of Interest: </span></div></td>
          <td colspan="2"><label>
            <select name="property" size="1" id="property">
              <option>Butte Creek</option>
              <option>Casa De Ladrillo</option>
              <option>Collins Island</option>
              <option>The Crosby Estate</option>
              <option>Kailua Beach</option>
              <option>Keefer Ranch</option>
              <option>Koko Head</option>
              <option>Rancho Mirage</option>
              <option>San Diego Luxury High Rise</option>
              <option>Santiago Canyon</option>
              <option>South Lake Tahoe</option>
            </select>
          </label></td>
        </tr>
        <tr>
          <td><div align="right" class="style18 style57"><span class="style21">Dates:</span></div></td>
          <td width="83" align="right" bgcolor="#003366"><div align="right" class="style58">
            <div align="right"><span class="style21">Arrival:</span></div>
          </div></td>
          <td width="270" align="left" bgcolor="#003366" class="FormBorder"><strong>
            <select name="smonth" id="smonth">
              <option>Month</option>
              <option value="January">January</option>
              <option value="February">February</option>
              <option value="March">March</option>
              <option value="April">April</option>
              <option value="May">May</option>
              <option value="June">June</option>
              <option value="July">July</option>
              <option value="August">August</option>
              <option value="Semptember">September</option>
              <option value="Octover">October</option>
              <option value="November">November</option>
              <option value="December">December</option>
            </select>
            <select name="select" id="select">
              <option>Day</option>
              <option value="1">1</option>
              <option value="2">2</option>
              <option value="3">3</option>
              <option value="4">4</option>
              <option value="5">5</option>
              <option value="6">6</option>
              <option value="7">7</option>
              <option value="8">8</option>
              <option value="9">9</option>
              <option value="10">10</option>
              <option value="11">11</option>
              <option value="12">12</option>
              <option value="13">13</option>
              <option value="14">14</option>
              <option value="15">15</option>
              <option value="16">16</option>
              <option value="17">17</option>
              <option value="18">18</option>
              <option value="19">19</option>
              <option value="20">20</option>
              <option value="21">21</option>
              <option value="22">22</option>
              <option value="23">23</option>
              <option value="24">24</option>
              <option value="25">25</option>
              <option value="26">26</option>
              <option value="27">27</option>
              <option value="28">28</option>
              <option value="29">29</option>
              <option value="30">30</option>
              <option value="31">31</option>
            </select>
            <strong><strong>
            <select name="select2" id="select2">
              <option>Year</option>
              <option value="2002">2002</option>
              <option value="2003">2003</option>
              <option value="2004">2004</option>
              <option value="2005">2005</option>
              <option value="2006">2006</option>
              <option value="2007">2007</option>
              <option value="2003">2008</option>
            </select>
            </strong></strong>      </strong>       
          <div align="left"></div>      <div align="left"></div></td>
        </tr>
        <tr>
          <td><span class="style57"></span></td>
          <td bgcolor="#003366"><div align="right" class="style58">
            <div align="right"><span class="style21">Departure:</span></div>
          </div></td>
          <td align="left" valign="middle" bgcolor="#003366" class="FormBorder"><strong>
            <select name="smonth" id="smonth">
              <option>Month</option>
              <option value="January">January</option>
              <option value="February">February</option>
              <option value="March">March</option>
              <option value="April">April</option>
              <option value="May">May</option>
              <option value="June">June</option>
              <option value="July">July</option>
              <option value="August">August</option>
              <option value="Semptember">September</option>
              <option value="Octover">October</option>
              <option value="November">November</option>
              <option value="December">December</option>
            </select>
            <select name="sday" id="sday">
              <option>Day</option>
              <option value="1">1</option>
              <option value="2">2</option>
              <option value="3">3</option>
              <option value="4">4</option>
              <option value="5">5</option>
              <option value="6">6</option>
              <option value="7">7</option>
              <option value="8">8</option>
              <option value="9">9</option>
              <option value="10">10</option>
              <option value="11">11</option>
              <option value="12">12</option>
              <option value="13">13</option>
              <option value="14">14</option>
              <option value="15">15</option>
              <option value="16">16</option>
              <option value="17">17</option>
              <option value="18">18</option>
              <option value="19">19</option>
              <option value="20">20</option>
              <option value="21">21</option>
              <option value="22">22</option>
              <option value="23">23</option>
              <option value="24">24</option>
              <option value="25">25</option>
              <option value="26">26</option>
              <option value="27">27</option>
              <option value="28">28</option>
              <option value="29">29</option>
              <option value="30">30</option>
              <option value="31">31</option>
            </select>
            <strong> <strong><strong>
            <select name="syear" id="syear">
              <option>Year</option>
              <option value="2002">2002</option>
              <option value="2003">2003</option>
              <option value="2004">2004</option>
              <option value="2005">2005</option>
              <option value="2006">2006</option>
              <option value="2007">2007</option>
              <option value="2003">2008</option>
            </select>
            </strong></strong></strong>      </strong></td>
        </tr>
        <tr>
          <td><div align="right" class="style18 style57"><span class="style21">Email:</span></div></td>
          <td colspan="2"><input name="email" type="text" id="email" size="50" maxlength="50" /></td>
        </tr>
        <tr>
          <td><div align="right" class="style18 style57"><span class="style21">Phone: </span></div></td>
          <td colspan="2"><input name="phone" type="text" id="phone" size="30" maxlength="30" /></td>
        </tr>
        <tr>
          <td height="204" valign="top" bgcolor="#003366"><div align="right" class="style18 style57"><span class="style21">Additional Info: </span></div></td>
          <td colspan="2" bgcolor="#003366"><label>
            <textarea name="info" cols="40" rows="10" id="info"></textarea>
          </label></td>
        </tr>
        <tr bgcolor="#660000" class="FormBorder">
          <td height="33" valign="middle" bgcolor="#003366"><label for="Submit"></label>
              <label for="label3"></label></td>
          <td colspan="2" align="center" valign="middle" bgcolor="#003366"><div align="left">
              <input type="reset" name="Reset" value="Clear" id="Submit" />
              <input type="submit" name="Submit" value="Submit" id="label3" />
          </div></td>
        </tr>
        <tr bgcolor="#660000" class="FormBorder">
          <td height="33" valign="middle" bgcolor="#003366"><div align="left" class="style43"><span class="style29 style44"><strong>&laquo;</strong></span> <a href="Index.html" class="style60"><span class="style61 style21"><u>HOME</u></span></a></div></td>
          <td colspan="2" align="center" valign="middle" bgcolor="#003366"> </td>
        </tr>
      </table>
      <div align="center"><span class="style42">&copy;<strong><a href="Index.html">TheBestSpots.com</a>   Phone: (800) 761-9819 Fax: (949) 851-0450 <a href="mailto:[email protected]"><br />
      [email protected]</a></strong></span>  </div>
    </form>
    </body>
    </html>

    I believe my it guys have php on their server. When I look on the internet
    to try and use the form to test it, I get the error:
    The website cannot display the page
    HTTP 500
    Most likely causes:
    The website is under maintenance.
    The website has a programming error.
    What you can try:
    Refresh the page.
    Go back to the previous page.
    Here's one php code I have linked to one of my documents:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Untitled Document</title>
    <style type="text/css">
    <!--
    .ThankYou {
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-position: center center;
    border: thick dotted #660033;
    font-family: "Times New Roman", Times, serif;
    font-size: 24px;
    font-weight: bold;
    color: #660033;
    font-style: italic;
    background-color: #FFFFFF;
    .style3 {
    font-size: 18px;
    font-style: italic;
    font-weight: bold;
    font-family: Georgia, "Times New Roman", Times, serif;
    color: #000066;
    .style4 {font-size: 30px}
    a:link {
    color: #000066;
    a:visited {
    color: #000000;
    a:hover {
    color: #000000;
    a:active {
    color: #000000;
    -->
    </style>
    </head>
    <body>
    <div align="center">
      <table width="780" height="150" border="1" class="ThankYou">
        <tr>
          <td valign="middle"><div align="center">
            <p class="style4">Thank You For Submitting Your Comments!</p>
            <p>-The Best Spots<br />
              Luxury Vacation Rentals</p>
          </div></td>
        </tr>
      </table>
      <p align="left"><img src="BOPIcon copy.gif" alt="BirdOfParadise" width="36" height="36" /><span class="style3"><a href="Index.html">TheBestSpots.com </a></span></p>
    </div>
    <p>
      <?php
    $txtToAddr = '[email protected]' ;
       $txtSubj = 'Guest Comment From '. $_POST['fname'] . ' ' .  $_POST['lname'] . ' email '. $_POST['email'] . ' Property' . $_POST['property'] ;
    $txtFromAddr = $_POST['email'];
    $txtBody = $startdate = $_POST['smonth']  .  $_POST['sday'] . $_POST['syear'] . ' ' . $enddate = $_POST['emonth'] . $_POST['eday'] . $_POST['eyear'] . ' ' . $_POST['comments'] ;
       $headers = 'From: '. $txtFromAddr . "\r\n" .
        'Reply-To: ' . $txtFromAddr . "\r\n" .
        'X-Mailer: PHP/' . phpversion();
        // echo " Thank you for you request. You will be contacted within 1 business day."; 
        mail( "$txtToAddr", "$txtSubj", "$txtBody", "$headers");
    ?>
    </p>
    <p> </p>
    <p>  </p>
    </body>
    </html>
    And here's the other php code I have linked to the other:
    <?php
    $FM_VERS = "8.05";      // script version
    /* ex:set ts=4 sw=4 et:
    * FormMail PHP script from Tectite.com.  This script requires PHP 4 or later.
    * Copyright (c) 2001-2008 Root Software and Open Concepts Pty Ltd
    * (ABN 93 003 733 499), Melbourne, Australia.
    * This script is free for all use as described in the "Copying and Use" and
    * "Warranty and Disclaimer" sections below.
    * Visit us at http://www.tectite.com/ for updates and more information.
    *** If you use Tectite FormMail, please support its development and other
    *** freeware products by putting the following link on your website:
    ***  Visit www.tectite.com for free <a href="http://www.tectite.com/">form processing script</a>.
    * Author: Russell Robinson, 2nd October 2001
    * Last Modified: RR 14:07 Wed 15 August 2007
    * QVCS Version: $Revision: 1.4 $
    * Read This First
    * ~~~~~~~~~~~~~~~
    *  This script is very well documented and quite large!  It looks daunting,
    *  but really isn't.
    *  If you have experience with PHP or other scripting languages,
    *  here's what you *need* to read:
    *      - Configuration (TARGET_EMAIL & DEF_ALERT)
    *      - Creating Forms
    *  That's it!  (Alternatively, just read the Quick Start and/or
    *  Quicker Start section below).
    *  Full configuration documentation is here:
    *      http://www.tectite.com/fmdoc/index.php
    * Purpose:
    * ~~~~~~~~
    *  To accept information from an HTML form via HTTP and mail it to recipients.
    * What does this PHP script do?
    * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    *  On your web site, you may have one or more HTML forms that accept
    *  information from people visiting your website.  Your aim is for your
    *  website to email that information to you and/or add it to a database.
    *  FormMail performs those functions.
    * Quick Start
    * ~~~~~~~~~~~
    *  1. Edit this file and set TARGET_EMAIL for your requirements (near
    *      line 235 in this file - replace "yourhost\.com" with your mail server's
    *      name).  We also strongly recommend you set DEF_ALERT (the next
    *      configuration below TARGET_EMAIL).
    *  2. Install this file as formmail.php (or other name ending in .php)
    *     on your web server.
    *  3. Create an HTML form and:
    *      - specify a hidden field called "recipients" with the email address
    *        of the person to receive the form's results.
    *      - in the your form tag set the action attribute to
    *        the formmail.php you uploaded to your web server
    *  Once you have FormMail working, you may be interested in some advanced
    *  usage and features.  We have HOW-TO guides at www.tectite.com which
    *  describe many of the advanced processing you can do with FormMail.
    *      http://www.tectite.com/fmhowto/guides.php
    * Quicker Start
    * ~~~~~~~~~~~~~
    *  Use the FormMail Configuration Wizard here:
    *      http://www.tectite.com/wizards/fmconf.php
    *  By answering a few questions you'll get a configured FormMail and
    *  a sample HTML form ready to upload and use on your server.
    * Features
    * ~~~~~~~~
    *  For a list of features go to: http://www.tectite.com/formmailpage.php
    * Security
    * ~~~~~~~~
    *  Security is the primary concern in accepting data from your website
    *  visitors.
    *  Tectite FormMail has several security features designed into it.  Note,
    *  however, it requires configuration for your particular web site.
    * Configuration
    * ~~~~~~~~~~~~~
    *  To configure this script, go to the section titled "CONFIGURATION"
    *  (after reading the legal stuff below).
    *  There is only one mandatory setting: TARGET_EMAIL
    *  and one strongly recommended setting: DEF_ALERT
    *  Full configuration information is available here:
    *      http://www.tectite.com/fmdoc/index.php
    * Creating Forms
    * ~~~~~~~~~~~~~~
    *  Go to this URL to learn how to write HTML forms for use with
    *  Tectite FormMail: http://www.tectite.com/fmdoc/creating_forms.php
    * Copying and Use
    * ~~~~~~~~~~~~~~~
    *  Tectite FormMail is provided free of charge and may be freely distributed
    *  and used provided that you:
    *      1. keep this header, including copyright and comments,
    *         in place and unmodified; and,
    *      2. do not charge a fee for distributing it, without an agreement
    *         in writing with Root Software allowing you to do so; and,
    *      3. if you modify FormMail before distributing it, you clearly
    *         identify:
    *              a) who you are
    *              b) how to contact you
    *              c) what changes you have made
    *              d) why you have made those changes.
    * Warranty and Disclaimer
    * ~~~~~~~~~~~~~~~~~~~~~~~
    *  Tectite FormMail is provided free-of-charge and with ABSOLUTELY NO WARRANTY.
    *  It has not been verified for use in critical applications, including,
    *  but not limited to, medicine, defense, aircraft, space exploration,
    *  or any other potentially dangerous activity.
    *  By using Tectite FormMail you agree to indemnify Root Software and
    *  Open Concepts Pty Ltd, their agents, employees, directors and
    *  associated companies and businesses from any liability whatsoever.
    * We still care
    * ~~~~~~~~~~~~~
    *  If you find a bug or fault in FormMail, please report it to us.
    *  We will respond to your report and make endeavours to rectify any
    *  faults you've detected as soon as possible.
    *  To contact us please register on our forums at:
    *      http://www.tectite.com/vbforums/
    *  or view our contact information:
    *      http://www.tectite.com/contacts.php
    * Version History
    * ~~~~~~~~~~~~~~~
    *  Near the top of this file, you'll find its version. The version
    *  line looks like this:
    *       $FM_VERS = "N.MM";     /* script version ...
    *  The version history used to be located within this file.  However,
    *  starting with Version 8.00 we've moved it...
    *  You can read the complete version history of FormMail on our
    *  main website here:
    *   http://www.tectite.com/fmdoc/version_history.php
        // Capture the current date and time, for various purposes.
    $lNow = time();
    set_magic_quotes_runtime(0);        // disable this silly setting (usually not enabled)
    ini_set('track_errors',1);          // enable $php_errormsg
    $aAlertInfo = array();
    $aPHPVERSION = array();
    $sLangID = "";                      // the language ID
    $aMessages = array();               // all FormMail messages in the appropriate
                                        // language
    $bUseOldVars = IsOldVersion($aPHPVERSION);
        // seed the random number generate if not version 4.2.0 or later
    if (!IsPHPAtLeast("4.2.0"))
        mt_srand(time());
        // we set references to the appropriate arrays to handle PHP version differences
        // Session vars are selected after we start the session.
    if ($bUseOldVars)
        $aServerVars = &$HTTP_SERVER_VARS;
        $aGetVars = &$HTTP_GET_VARS;
        $aFormVars = &$HTTP_POST_VARS;
        $aFileVars = &$HTTP_POST_FILES;
        $aEnvVars = &$HTTP_ENV_VARS;
    else
        $aServerVars = &$_SERVER;
        $aGetVars = &$_GET;
        $aFormVars = &$_POST;
        $aFileVars = &$_FILES;
        $aEnvVars = &$_ENV;
    $bIsGetMethod = false;
        // If the form submission was using the GET method, switch to the
        // GET vars instead of the POST vars
    if (isset($aServerVars["REQUEST_METHOD"]) && $aServerVars["REQUEST_METHOD"] === "GET")
        $bIsGetMethod = true;
        if ($bUseOldVars)
            $aFormVars = &$HTTP_GET_VARS;
        else
            $aFormVars = &$_GET;
    if (!isset($REAL_DOCUMENT_ROOT))
        SetRealDocumentRoot();
    if (isset($aServerVars['SERVER_PORT']))
        $SCHEME = ($aServerVars['SERVER_PORT'] == 80) ? "http://" : "https://";
    else
        $SCHEME = "";
    if (isset($aServerVars['SERVER_NAME']))
        $SERVER = $aServerVars['SERVER_NAME'];
    else
        $SERVER = "";
    /* CONFIGURATION (do not alter this line in any way!!!)                      */
    * This is the *only* place where you need to modify things to use formmail.php
    * on your particular system.  This section finishes at "END OF CONFIGURATION".
    * Help for all settings can be found on our website:
    *  http://www.tectite.com/fmdoc/index.php
    * Also, above each setting is a direct URL to the help information for the
    * setting.
                /* Help: http://www.tectite.com/fmdoc/email_name.php */
    define("EMAIL_NAME","^[-a-z0-9.]+");    // the '^' is an important security feature!
                /* Help: http://www.tectite.com/fmdoc/target_email.php */
    $TARGET_EMAIL = array(EMAIL_NAME."@thebestspots\.com$");
                /* Help: http://www.tectite.com/fmdoc/def_alert.php */
    define("DEF_ALERT","[email protected]");
                /* Help: http://www.tectite.com/fmdoc/set_real_document_root.php */
    $SET_REAL_DOCUMENT_ROOT = "";       // overrides the value set by SetRealDocumentRoot function
        // override $REAL_DOCUMENT_ROOT from the $SET_REAL_DOCUMENT_ROOT value (if any)
        // Do not alter the following code (next 3 lines)!
    if (isset($SET_REAL_DOCUMENT_ROOT) && $SET_REAL_DOCUMENT_ROOT !== "")
        $REAL_DOCUMENT_ROOT = $SET_REAL_DOCUMENT_ROOT;
                /* Help: http://www.tectite.com/fmdoc/config_check.php */
    $CONFIG_CHECK = array("TARGET_EMAIL");
                /* Help: http://www.tectite.com/fmdoc/at_mangle.php */
    define("AT_MANGLE","5VLNXQL");
                /* Help: http://www.tectite.com/fmdoc/target_urls.php */
    $TARGET_URLS = array();         // default; no URLs allowed
                /* Help: http://www.tectite.com/fmdoc/head_crlf.php */
    define("HEAD_CRLF","\r\n");
                /* Help: http://www.tectite.com/fmdoc/body_lf.php */
    define("BODY_LF","\r\n");       // the new default: use this for CR+LF
    //define("BODY_LF","\n");       // the old default: just LF
                /* Help: http://www.tectite.com/fmdoc/from_user.php */
    $FROM_USER = "";                            // the default - setting not used
                /* Help: http://www.tectite.com/fmdoc/sendmail_f_option.php */
    define("SENDMAIL_F_OPTION",false);
    define("SENDMAIL_F_OPTION_LINE",__LINE__-1);    // don't modify this line!
                /* Help: http://www.tectite.com/fmdoc/fixed_sender.php */
    $FIXED_SENDER = "";
                /* Help: http://www.tectite.com/fmdoc/set_sender_from_email.php */
    define("SET_SENDER_FROM_EMAIL",false);
                /* Help: http://www.tectite.com/fmdoc/ini_set_from.php */
    define("INI_SET_FROM",false);
                /* Help: http://www.tectite.com/fmdoc/logdir.php */
    $LOGDIR = "";                           // directory for log files; empty string to
                                            // disallow log files
                /* Help: http://www.tectite.com/fmdoc/autorespondlog.php */
    $AUTORESPONDLOG = "";           // file name in $LOGDIR for the auto responder
                                    // log; empty string for no auto responder log
                /* Help: http://www.tectite.com/fmdoc/csv_file_settings.php */
    $CSVDIR = "";                       // directory for csv files; empty string to
                                        // disallow csv files
    $CSVSEP = ",";      // comma separator between fields (columns)
    $CSVINTSEP = ";";   // semicolon is the separator for fields (columns)
                        // with multiple values (checkboxes, etc.)
    $CSVQUOTE = '"';    // all fields in the CSV are quoted with this character;
                        // default is double quote.  You can change it to
                        // single quote or leave it empty for no quotes.
    //$CSVQUOTE = "'";  // use this if you want single quotes
    $CSVOPEN = "";      // set to "b" to force line terminations to be
                        // kept as $CSVLINE setting below, regardless of
                        // operating system.  Keep as empty string and
                        // leave $CSVLINE unchanged, to get text file
                        // terminations for your server's operating system.
                        // (Line feed on UNIX, carriage-return line feed on Windows).
    $CSVLINE = "\n";    // line termination for CSV files.  The default is
                        // a single line feed, which may be modified for your
                        // server's operating system.  If you want to change
                        // this value, you *must* set $CSVOPEN = "b".
                /* Help: http://www.tectite.com/fmdoc/templatedir.php */
    $TEMPLATEDIR = "";                  // directory for template files; empty string
                                        // if you don't have any templates
                /* Help: http://www.tectite.com/fmdoc/templateurl.php */
    $TEMPLATEURL = "";                  // default; no template URL
                /* Help: http://www.tectite.com/fmdoc/multiformdir.php */
    $MULTIFORMDIR = "";         // directory for multi-form template files; empty string
                                // if you're not using multi-forms
                /* Help: http://www.tectite.com/fmdoc/multiformurl.php */
    $MULTIFORMURL = "";                 // default; no multi-forms templates URL
                /* Help: http://www.tectite.com/fmdoc/authentication_settings.php */
    $AUTHENTICATE = "";
    //$AUTHENTICATE = "Basic cnVzc2VsbHI6dGVzdA==";        // example
    $AUTH_USER = "";
    $AUTH_PW = "";
                /* Help: http://www.tectite.com/fmdoc/form_ini_file.php */
    $FORM_INI_FILE = "";
                /* Help: http://www.tectite.com/fmdoc/moduledir.php */
    $MODULEDIR = ".";
                /* Help: http://www.tectite.com/fmdoc/fmcompute.php */
    $FMCOMPUTE = "fmcompute.php";
                /* Help: http://www.tectite.com/fmdoc/fmgeoip.php */
    $FMGEOIP = "fmgeoip.php";
                /* Help: http://www.tectite.com/fmdoc/advanced_templates.php */
    define("ADVANCED_TEMPLATES",false);     // set to true for advanced templates
                /* Help: http://www.tectite.com/fmdoc/limited_import.php */
    define("LIMITED_IMPORT",true);      // set to true if your database cannot
                                        // handle escaped quotes or newlines within
                                        // imported data.  Microsoft Access is one
                                        // example.
                /* Help: http://www.tectite.com/fmdoc/valid_env.php */
    $VALID_ENV = array('HTTP_REFERER','REMOTE_HOST','REMOTE_ADDR','REMOTE_USER',
                    'HTTP_USER_AGENT');
                /* Help: http://www.tectite.com/fmdoc/fileuploads.php */
    define("FILEUPLOADS",false);        // set to true to allow file attachments
                /* Help: http://www.tectite.com/fmdoc/max_file_upload_size.php */
    define("MAX_FILE_UPLOAD_SIZE",0);       // default of 0 means that other software
                                            // controls the maximum file upload size
                                            // (FormMail doesn't test the file size)
                /* Help: http://www.tectite.com/fmdoc/file_repository.php */
    $FILE_REPOSITORY = "";
                /* Help: http://www.tectite.com/fmdoc/file_mode.php */
    define("FILE_MODE",0664);     // always precede with 0 to specify octal!
                /* Help: http://www.tectite.com/fmdoc/file_overwrite.php */
    define("FILE_OVERWRITE",true);
                /* Help: http://www.tectite.com/fmdoc/next_num_file.php */
    $NEXT_NUM_FILE = "";
                /* Help: http://www.tectite.com/fmdoc/put_data_in_url.php */
    define("PUT_DATA_IN_URL",true); // set to true to place data in the URL
                                        // for bad_url redirects
                /* Help: http://www.tectite.com/fmdoc/db_see_input.php */
    define("DB_SEE_INPUT",false);       // set to true to just see the input values
                /* Help: http://www.tectite.com/fmdoc/db_see_ini.php */
    define("DB_SEE_INI",false);     // set to true to just see the ini file
                /* Help: http://www.tectite.com/fmdoc/maxstring.php */
    define("MAXSTRING",1024);           // maximum string length for a value
                /* Help: http://www.tectite.com/fmdoc/bshowmesgnumbers.php */
    $bShowMesgNumbers = false;
                /* Help: http://www.tectite.com/fmdoc/filters.php */
                /* Note for Tectite personnel: the upgrade Wizard will merge new values
                 * but be careful of $var usage and quoting in new entries.
    $FILTERS = array("encode"=>"$REAL_DOCUMENT_ROOT/cgi-bin/fmencoder -kpubkey.txt",
                    "null"=>"null",
                    "csv"=>"csv");
                /* Help: http://www.tectite.com/fmdoc/socket_filters.php */
    $SOCKET_FILTERS = array(
                     "httpencode"=>array("site"=>"YourSiteHere",
                        "port"=>80,
                        "path"=>"/cgi-bin/fmencoder",
                        "params"=>array(array("name"=>"key",
                                "file"=>"$REAL_DOCUMENT_ROOT/cgi-bin/pubkey.txt"))),
                     "sslencode"=>array("site"=>"ssl://YourSecureSiteHere",
                        "port"=>443,
                        "path"=>"/cgi-bin/fmencoder",
                        "params"=>array(array("name"=>"key",
                                "file"=>"$REAL_DOCUMENT_ROOT/cgi-bin/pubkey.txt"))),
                /* Help: http://www.tectite.com/fmdoc/filter_attribs.php */
    $FILTER_ATTRIBS = array("encode"=>"Strips,MIME=application/vnd.fmencoded,Encrypts",
                            "httpencode"=>"Strips,MIME=application/vnd.fmencoded,Encrypts",
                            "sslencode"=>"Strips,MIME=application/vnd.fmencoded,Encrypts",
                            "csv"=>"Strips,MIME=text/csv",);
                /* Help: http://www.tectite.com/fmdoc/check_for_new_version.php */
    define("CHECK_FOR_NEW_VERSION",true);
    define("CHECK_DAYS",30);
                /* Help: http://www.tectite.com/fmdoc/scratch_pad.php */
    $SCRATCH_PAD = "";
                /* Help: http://www.tectite.com/fmdoc/cleanup_time.php */
    $CLEANUP_TIME = 60;     // cleanup time in minutes
                /* Help: http://www.tectite.com/fmdoc/cleanup_chance.php */
    $CLEANUP_CHANCE = 20;     // percentage probability that cleanup will be performed
                /* Help: http://www.tectite.com/fmdoc/pear_settings.php */
    $PEAR_SMTP_HOST = "";
    $PEAR_SMTP_PORT = 25;
    $PEAR_SMTP_USER = "";
    $PEAR_SMTP_PWD = "";
                /* Help: http://www.tectite.com/fmdoc/alert_on_user_error.php */
    define("ALERT_ON_USER_ERROR",true);
                /* Help: http://www.tectite.com/fmdoc/enable_attack_detection.php */
    define("ENABLE_ATTACK_DETECTION",true);
                /* Help: http://www.tectite.com/fmdoc/attack_detection_url.php */
    define("ATTACK_DETECTION_URL","");
                /* Help: http://www.tectite.com/fmdoc/alert_on_attack_detection.php */
    define("ALERT_ON_ATTACK_DETECTION",false);
                /* Help: http://www.tectite.com/fmdoc/attack_detection_mime.php */
    define("ATTACK_DETECTION_MIME",true);
                /* Help: http://www.tectite.com/fmdoc/attack_detection_dups.php */
    $ATTACK_DETECTION_DUPS = array("realname","address1","address2","country","zip",
                                    "phone","postcode","state","email");
                /* Help: http://www.tectite.com/fmdoc/attack_detection_specials.php */
    define("ATTACK_DETECTION_SPECIALS",true);
                /* Help: http://www.tectite.com/fmdoc/attack_detection_specials.php */
    $ATTACK_DETECTION_SPECIALS_ONLY_EMAIL = array("derive_fields","required",
                        "mail_options","good_url","bad_url","good_template",
                        "bad_template");
                /* Help: http://www.tectite.com/fmdoc/attack_detection_specials.php */
    $ATTACK_DETECTION_SPECIALS_ANY_EMAIL = array("subject");
                /* Help: http://www.tectite.com/fmdoc/attack_detection_many_urls.php */
    define("ATTACK_DETECTION_MANY_URLS",0);
                /* Help: http://www.tectite.com/fmdoc/attack_detection_many_url_fields.php */
    define("ATTACK_DETECTION_MANY_URL_FIELDS",0);
                /* Help: http://www.tectite.com/fmdoc/attack_detection_url_patterns.php */
    $ATTACK_DETECTION_URL_PATTERNS = array(
                '(^|[^-a-z_.0-9]+)(?<!@)([-a-z0-9]+\.)+(com|org|net|biz|info|name|pro|tel|asia|cat)\b',
                '(^|[^-a-z_.0-9]+)(?<!@)([-a-z0-9]+\.)+(com{0,1}|org|net)\.[a-z][a-z]\b');
                /* Help: http://www.tectite.com/fmdoc/attack_detection_ignore_errors.php */
    define("ATTACK_DETECTION_IGNORE_ERRORS",false);
                /* Help: http://www.tectite.com/fmdoc/geoip_lic.php */
    $GEOIP_LIC = "";        // default - no GeoIP
                /* Help: http://www.tectite.com/fmdoc/zero_is_empty.php */
    define("ZERO_IS_EMPTY",false);
                /* Help: http://www.tectite.com/fmdoc/session_name.php */
    $SESSION_NAME = "";
                /* Help: http://www.tectite.com/fmdoc/hook_dir.php */
    $HOOK_DIR = "";
    /* UPGRADE CONTROL
    ** FILTERS:lt:8.04:merge:The FILTERS configuration has
    ** been modified to include some new standard filters.:
    ** FILTER_ATTRIBS:lt:8.04:no_keep:The FILTER_ATTRIBS configuration has
    ** been modified to include new information about the standard filters.:
    ** ATTACK_DETECTION_URL_PATTERNS:eq:8.02:no_keep:The ATTACK_DETECTION_URL_PATTERNS
    ** configuration has been modified to fix a bug.:
    ** FILTER_ATTRIBS:lt:4.00:no_keep:The FILTER_ATTRIBS configuration has
    ** been modified to include new information about the standard filters.:
    ** SET_REAL_DOCUMENT_ROOT:gt:4.07:copy_from=REAL_DOCUMENT_ROOT:The
    ** REAL_DOCUMENT_ROOT configuration has been renamed to SET_REAL_DOCUMENT_ROOT.:
    ** EMAIL_NAME:lt:6.01:no_keep:The EMAIL_NAME configuration has
    ** been modified to match hyphens ('-') in email addresses.:
    ** ZERO_IS_EMPTY:le:6.01:set_to=true:ZERO_IS_EMPTY has been
    ** set to a value that duplicates previous behaviour.:
    ** END OF CONTROL
    /* END OF CONFIGURATION (do not alter this line in any way!!!)               */
        // the following constants define all FormMail messages
    define('MSG_SCRIPT_VERSION',0);     // This script requires at least PHP version...
    define('MSG_END_VERS_CHK',1);       // If you're happy...
    define('MSG_VERS_CHK',2);           // A later version of FormMail is available...
    define('MSG_CHK_FILE_ERROR',3);     // Unable to create check file...
    define('MSG_UNK_VALUE_SPEC',4);     // derive_fields: unknown value specification...
    define('MSG_INV_VALUE_SPEC',5);     // derive_fields: invalid value specification...
    define('MSG_DERIVED_INVALID',6);    // Some derive_fields specifications...
    define('MSG_INT_FORM_ERROR',7);     // Internal form error...
    define('MSG_OPTIONS_INVALID',8);    // Some mail_options settings...
    define('MSG_PLSWAIT_REDIR',9);      // Please wait while you are redirected...
    define('MSG_IFNOT_REDIR',10);       // If you are not redirected...
    define('MSG_PEAR_OBJ',11);          // Failed to create PEAR Mail object...
    define('MSG_PEAR_ERROR',12);        // PEAR Mail error...
    define('MSG_NO_FOPT_ADDR',13);      // You have specified "SendMailFOption"...
    define('MSG_MORE_INFO',14);         // More information...
    define('MSG_INFO_STOPPED',15);      // Extra alert information suppressed...
    define('MSG_FM_ALERT',16);          // FormMail alert
    define('MSG_FM_ERROR',17);          // FormMail script error
    define('MSG_FM_ERROR_LINE',18);     // The following error occurred...
    define('MSG_USERDATA_STOPPED',19);  // User data suppressed...
    define('MSG_FILTERED',20);          // This alert has been filtered...
    define('MSG_TEMPLATES',21);         // You must set either TEMPLATEDIR or TEMPLATEURL...
    define('MSG_OPEN_TEMPLATE',22);     // Failed to open template...
    define('MSG_ERROR_PROC',23);        // An error occurred while processing...
    define('MSG_ALERT_DONE',24);        // Our staff have been alerted...
    define('MSG_PLS_CONTACT',25);       // Please contact us directly...
    define('MSG_APOLOGY',26);           // We apologize for any inconvenience...
    define('MSG_ABOUT_FORMMAIL',27);    // Your form submission was processed by...
    define('MSG_PREG_FAI

  • How to undo last created textField

    Hello
    I am creating Multiple textFields using a add textfield Function
    I am unable to delete the textField using delete text function
    getChildIndex
    getChildByName
    RemoveChildAt
    mostly it shows , Null child in response
    or out of bound Index
    How I can delete the created Any of the textFiled  ??

    assuming you are doing all this code from within a DisplayObjectContainer or one of it's subclasses
    you can add a property to the class say var lastTextField:TextField
    and then override the addChild function
    override public function addChild(child:DisplayObject):void
         if (child is TextField)
              lastTextField = child;
         super.addChild(child);
    you will also need to add a function
    private function removeLastTextField():void
         if (lastTextField != null)
              if (contains(lastTextField))
                   removeChild(lastTextField);
              else
                   trace("lastTextField has a different parent: " + lastTextField.parent);
              lastTextField = null;
         else
              trace("no textfield to remove");
    you can then remove the last added TextField by calling
    removeLastTextField();
    if you want to be able to undo more than just the last one you would need to use an array of TextFields instead

Maybe you are looking for

  • CSS height property use in Fluid grid layout

    Hi, I'm totally new to fluid grid layout and just got started in it. I have a div tag that has 5px height and I sucessfully applied that and seem fine only on Tablet landscape (1024x768) and Small tablet landscape (800x600), nevertheless it isn't eve

  • Screen Saver Photos

    I want to set my screensaver to show my entire photo library, but when i select the folder it says there are no photos but when i select a folder inside my pictures folder it shows pictures from that specific folder.

  • How to create 1-1 relation in Master Detail link?

    How to create 1-1 relation in Master Detail link? I've attached the screen shot in the link below (a Microsoft powerpoint file) http://us.f1f.yahoofs.com/bc/6a8130cf/bc/My+Documents/dataerror.ppt?bf2WKfABbW_fzjVn

  • Error 89136 at DAQmx start task (Acq&Graph Voltage-Ext Clk-Analog Ref.vi)

    HI, I am trying to run example vi Acq&Graph Voltage-Ext Clk-Analog Ref.vi ( I have made some modifcations) in labview 8.2 I am trying to read pressure (from a compressor), I have an encoder with 1024 pulses per revolution, So I want to read 1024 samp

  • Photo copyright/encryption online????

    I want to use iWeb for my professional website. Can I? How do I? protect my images on my iWeb site from being stolen/dragged off as jpegs, etc. Does iWeb have an encryption ability or something? If not does anyone have a recommendation on how to do t