×

Discussion Board

Results 1 to 4 of 4
  1. #1
    Registered User
    Join Date
    Dec 2008
    Posts
    13

    Problem in calling a virtual function across Symbian DLLs.

    My IM application setup is like below:

    * User Interface module (exe)

    * Plugin module ( A polymorphic DLL that provides an abstract interface
    for different protocols to the UI module )

    * Several Protocol DLLs ( Shared library DLLs that implement the respective protocols, like Jabber, ICQ etc )

    Now, I was asked to implement contact list caching feature and that meant doing File I/O.

    Since File I/O cannot be done in the protocol DLLs because,
    it cannot access the applications private folder ),

    I implemented a class deriving from an abstract class interface
    in the user interface module.

    I then exposed the abstract interface to the Plugin module and protocol DLLs.

    Let that abstract interface be named MFileService.

    From the protocol DLL this is how I get an instance of MFileService derived class:

    Code:
    1. Protocol DLL calls a virtual function on plugin object 
    to get a pointer to MFileService derived object
    
    2. Plugin object calls a virtual function on the user interface module.
    
    3. The user interface module creates an instance of MFileService dervied class 
    and returns it to the caller ( The plugin object )
    
    4. The plugin object inturn returns it to the protocol DLL.
    The problem is my application is crashing with KERN-EXEC 3 at step 1
    when its making a virtual function call to plugin object.

    HINTS:

    * All the virtual function calls made to the plugin object from the protocol
    DLL succeeds except the one I recently added.

    * The virtual function I newly added to the plugin and
    user interface modules return a pointer to MFileService.

    * I have not exported any of the virtual functions since all are pure virtual.

  2. #2
    Super Contributor
    Join Date
    Jan 2007
    Location
    Bhubaneswar, India
    Posts
    1,189

    Re: Problem in calling a virtual function across Symbian DLLs.

    KERN-EXEC 3 means:
    This panic is raised when an unhandled exception occurs. Exceptions have many causes, but the most common are access violations caused, for example, by dereferencing NULL. Among other possible causes are: general protection faults, executing an invalid instruction, alignment checks, etc.

    you can debugg your application and find out in which line it cause problem.
    -------------------------------------
    Thanks & Regards
    Ram
    Symbian OS 9.2/9.3,S60 3rd FP1/FP2,Carbide.c++v2.0

  3. #3
    Registered User
    Join Date
    Dec 2008
    Posts
    13

    Re: Problem in calling a virtual function across Symbian DLLs.

    I know where its causing KERN-EXEC 3. Its on the line where I make a call to the plugin object. But, I don't know why its causing and how to fix it. The most common reason is due to dereferencing NULL. But I have verified that the plugin object is not null. I am finding it hard to know the exact cause of the panic.

  4. #4
    Super Contributor
    Join Date
    Jan 2007
    Location
    Bhubaneswar, India
    Posts
    1,189

    Re: Problem in calling a virtual function across Symbian DLLs.

    you can paste piece of your code here, which cause panic.
    -------------------------------------
    Thanks & Regards
    Ram
    Symbian OS 9.2/9.3,S60 3rd FP1/FP2,Carbide.c++v2.0

Similar Threads

  1. Replies: 4
    Last Post: 2009-04-26, 07:27
  2. Replies: 3
    Last Post: 2008-01-31, 23:54
  3. Current Symbian Development Opportunities...!!
    By mobile2004 in forum Symbian
    Replies: 0
    Last Post: 2005-01-17, 17:58
  4. Replies: 0
    Last Post: 2004-05-21, 11:16
  5. Problem with Nokia D211 Linux Drivers
    By fiveam in forum Multimodecards
    Replies: 1
    Last Post: 1970-01-01, 02:00

Posting Permissions

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