×

Discussion Board

Results 1 to 9 of 9
  1. #1
    Registered User
    Join Date
    Aug 2008
    Posts
    25

    Newbie problem opening form based on resource identifier

    Hey guys, newbie question...

    I have created a simple form in the rss file and created a class that extends CAknForm and am now looking to launch it.

    So in the Application Gui class (HandleCommandL()) I've included the following code that is executed given a certain option selection in the menubar.

    Code:
    // my created form, ignore the parameters
    CMyForm* form = CMyForm::NewL(iAppView->iDisplayText,iAppView->iTextColor);
    
    // open form based on entry in resources file
    form->ExecuteLD(r_SimpleEx_form);
    however on compilation im told that the the "identifier r_SimpleEx_form cannot be found"

    I tried to 'include' the rss file in this class but at compilation im told the file cannot be opened?

    Below is the corresponding entry in the rss file which compiles file, (I've exluded some of the things this points to for clarity)

    Code:
    RESOURCE FORM r_SimpleEx_form
    	{
    	flags = EEikFormEditModeOnly | EEikFormUseDoubleSpacedFormat;
    	items = 
    	  {
    	   DLG_LINE
    		   {
    		   type=EEikCtEdwin;
    		   prompt="Text";
    		   id=ESimpleExText;
    		   control=EDWIN{width=10;maxlength=256;};
    		   },
    	   DLG_LINE
               {
               type=EAknCtPopupFieldText;
               prompt="Color";
               id=ESimpleExPopup;
              //itemflags = EikDlgItemTakesEnterKey | EEikDlgItemOfferAllHotKeys;
               control = POPUP_FIELD_TEXT
            	   {
            	    popupfield = POPUP_FIELD
            	    	{
            	    	width = 10;
            	    	};
            	    textarray=r_color_list;
            	   };
               }
    	  };
            
    	
    	}
    Any ideas why I can't refer to the above resources entry? Should the rss file be an include? if so any ideas why it can't be opened?

  2. #2
    Registered User
    Join Date
    Jun 2006
    Location
    India
    Posts
    1,043

    Re: Newbie problem opening form based on resource identifier

    Hi,
    Include #include <your rss name.rsg> in your corresponding cpp file and
    declare your code like
    form->ExecuteLD(R_SIMPLEX_FORM); you can check this resource id in your rsg file. It will compile then.
    Maximus
    S60 Developer
    Impossible is nothing

  3. #3
    Nokia Developer Moderator
    Join Date
    Feb 2006
    Location
    Oslo, Norway
    Posts
    28,751

    Re: Newbie problem opening form based on resource identifier

    Resource basics: resource identifiers are converted to full uppercase, and defined in the .rsg file for your resource file (it is generated if the HEADER keyword is present in the START RESOURCE - END block in the .mmp).
    Form basics: you need a DIALOG resource for launching a form.
    Note that your SDK may already contain form-related documentation, check if there is s60_platform_avkon_ui_resources_forms_vx_y_en.pdf in S60Doc folder).

  4. #4
    Registered User
    Join Date
    Aug 2008
    Posts
    25

    Re: Newbie problem opening form based on resource identifier

    thanks for the response chaps,

    now I get the message:

    "illegal access from 'CMyForm' to protected/private member 'CAknDialog::ExecuteLD(int)"

    Any ideas?

  5. #5
    Registered User
    Join Date
    Jun 2006
    Location
    India
    Posts
    1,043

    Re: Newbie problem opening form based on resource identifier

    Hi,
    Try inheriting your class something like
    "class CMyForm : public CAknDialog" (by default it is private access scope)
    Maximus
    S60 Developer
    Impossible is nothing

  6. #6
    Registered User
    Join Date
    Aug 2008
    Posts
    25

    Re: Newbie problem opening form based on resource identifier

    Ok so before the inheritence was down as:

    Code:
    class CMyForm : CAknForm
    which I changed to:

    Code:
    class CMyForm : public CAknForm
    now I get lots of unidentified symbol compilation errors, mainly to do with CCoeControl and CEikDialog

    e.g.

    Undefined symbol: 'void CEikDialog::SetSizeAndPosition(class TSize const
    (?SetSizeAndPosition@CEikDialog@@MAEXABVTSize@@@Z)'

    Undefined symbol: 'class CCoeControl * CEikDialog::ComponentControl(int) const (?ComponentControl@CEikDialog@@MBEPAVCCoeControl@@H@Z)'

    what does this mean?

    thanks for your attention

  7. #7
    Nokia Developer Moderator
    Join Date
    Feb 2006
    Location
    Oslo, Norway
    Posts
    28,751

    Re: Newbie problem opening form based on resource identifier

    Both error messages mention a method from CEikDialog. So check the necessary libraries for CEikDialog in the SDK Help, and make sure that they are added to your project.

  8. #8
    Registered User
    Join Date
    Aug 2008
    Posts
    25

    Re: Newbie problem opening form based on resource identifier

    ok i hunted down the library and all works fine, thanks!

    If anyone else is interested the library I was missing was

    eikdlg.lib (CEikDialg class)

    use this not as an include but use the LIBRARY keyword in the mmp file

    Code:
    LIBRARY eikdlg.lib

  9. #9
    Registered User
    Join Date
    Dec 2005
    Posts
    1,236

    Re: Newbie problem opening form based on resource identifier

    Hi,

    Try adding eikdlg.lib library in your mmp sth like
    LIBRARY eikdlg.lib
    Regards,
    Sriky

Similar Threads

  1. i cant build helloworld project
    By akhin in forum Carbide.c++ IDE and plug-ins (Closed)
    Replies: 2
    Last Post: 2008-12-22, 12:38
  2. Date & Time Editor in Form Resource.
    By Kavit Patel in forum Symbian
    Replies: 2
    Last Post: 2008-03-03, 06:26
  3. undefined identifier R_TASKMANAGER_TASKLIST
    By remo123 in forum Symbian
    Replies: 11
    Last Post: 2007-05-29, 09:14
  4. Whats missing?
    By imrank in forum Symbian Tools & SDKs
    Replies: 1
    Last Post: 2006-08-28, 07:22
  5. Replies: 0
    Last Post: 2002-09-19, 11:45

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
×