Mastering Pointers.......(Learning) laugh

I did not understand what you meant by applet->initilize is not a valid function.

Here is a more clear explanation:
Everything starts here in my configuration file
Code:
void InitApplets ()
{
	Applet * Calender;
	Calender = CreateApplet("Calender","Tex","1.0","Displays Day,Month,Year",AppletCalenderPanel,AppletCalender_Drag,AppletCalenderInit,AppletCalenderDeInit);
	RegisterApplet(Calender);
	
	
}


I give AppletCalenderInit function as function parameter.

And that parameter is processed here:
Code:
Applet * CreateApplet(STRING * Name,STRING * Author,STRING * Version,STRING * Description,PANEL * Container,BMAP * Drag,int * Initilizer,int * Deinitlizer)
{
	if(!Container) { return error("CreateApplet:Invalid Container."); }
	if(!Initilizer) { return error("CreateApplet:Invalid Initilizer."); }
	if(!Deinitlizer) { return error("CreateApplet:Invalid Deinitilizer."); }
	if(!Name) { return error("CreateApplet:Invalid Name."); }
	
	Applet * Temp = sys_malloc(sizeof(Applet));
	
        .....SOME STATEMENTS ARE HERE WHICH ARE NOT RELATED TO THIS       
        TOPIC:REMOVED         

	Temp->Initilize	= Initilizer;
	Temp->Deinitlize = Deinitlizer;
	return Temp;
}



The structure stores the functions as:
Code:
typedef struct Applet 
{
        ........

	void *Initilize;
	void *Deinitlize;

        ........
} Applet;



Now it must be very clear laugh


Keep smiling laugh
http://translation.babylon.com/ - Translate many languages