Universal HelloExeDll for S60 2nd and 3rd edition

ExeDlls are the targets for Symbian projects that make the projects compile into EXE for the hardware platform and into a special DLL, that can be launched as an EXE from the WINS emulator.

For S60 3rd edition EXEs can be started from the fully loaded emulator and some system interfaces have been changed. Universal HelloExeDll uses a bit of preprocessor magic and can be compiled both for S60 3rd and 2nd edition. On the 3rd edition the project will be built as an EXE; on the 2nd edition it will be built as a usual ExeDll - as an EXE for hardware and as a DLL for WINS.

From the HelloExeDll.mmp:

#ifdef EKA2
TARGET HelloExeDll.exe
TARGETTYPE exe
#else
TARGET HelloExeDll.dll
TARGETTYPE exedll
#endif

From the HelloExeDll.cpp:

#if ( defined( __WINS__ ) && !defined( EKA2 ) )
EXPORT_C TInt WinsMain(TAny* /*aParam*/)
{
return Start();
}
#else
GLDEF_C TInt E32Main()
{
return Start();
}
#endif

#if ( defined(__WINS__) && !defined(EKA2) )
TInt E32Dll(TDllReason /*aReason*/)
{
return KErrNone;
}
#endif

AttachmentSize
HelloExeDll_2nd_and_3rd.zip5.06 KB

Comments

I have a little

I have a little question:

"For S60 3rd edition EXEs can be started from the fully loaded emulator"

How do you start EXEs (not console apps) from the emulator
(I'm new to S60 3rd).

Sorry, Alfredo, I was wrong. I think I will port the ExeLauncher to 3rd edition. I don't think I'll have time before my Summer vacation, but somewhere in August-September I will do the port.
Alternatively you can port the ExeLauncher yourself. The source code is open and porting should be straightforward. The you can post the ExeLauncher for 3rd edition here ;)

Is it possible to run:
1. The Symbian Server (the EXE)

Sure, easily. Just port the ExeLauncher to S60 3rd ;)

2. The Symbian Application that use Client DLL Interface

You can do it with the help of RApaLsSession. And certainly when you succeed it would be very kind of you to post a simple example here.