Discussion Board

Results 1 to 9 of 9
  1. #1
    Registered User dunff2k's Avatar
    Join Date
    Aug 2008
    Posts
    25
    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 yogpan's Avatar
    Join Date
    Jun 2006
    Location
    India
    Posts
    1,043
    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 wizard_hu_'s Avatar
    Join Date
    Feb 2006
    Location
    Oslo, Norway
    Posts
    27,743
    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 dunff2k's Avatar
    Join Date
    Aug 2008
    Posts
    25
    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 yogpan's Avatar
    Join Date
    Jun 2006
    Location
    India
    Posts
    1,043
    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 dunff2k's Avatar
    Join Date
    Aug 2008
    Posts
    25
    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 wizard_hu_'s Avatar
    Join Date
    Feb 2006
    Location
    Oslo, Norway
    Posts
    27,743
    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 dunff2k's Avatar
    Join Date
    Aug 2008
    Posts
    25
    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 sriky27's Avatar
    Join Date
    Dec 2005
    Posts
    1,236
    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 C++
    Replies: 2
    Last Post: 2008-03-03, 06:26
  3. undefined identifier R_TASKMANAGER_TASKLIST
    By remo123 in forum Symbian C++
    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
  •  
Nokia Developer aims to help you create apps and publish them so you can connect with users around the world.

京ICP备05048969号  © Copyright Nokia 2013 All rights reserved