struct A
{
	A() { print("A"); }
	virtual ~A() { print("~A"); }

	virtual void test() { print("A-test"); }
};

struct B : public A
{
	B() { print("B"); }
	virtual ~B() { print("~B"); }

	virtual void test() { print("B-test"); }
};

int main4d(void *data1,void *data2)
{  
	B b;
	b.test();

	GePrint("<<<TEST>>>"); 
	GePrint(PtrToString(data1)); 
	LONG r1 = (LONG)GeOutString("Test " + LongToString(55 + 3),GEMB_OKCANCEL); 
	if(GEMB_R(r1)==GEMB_R_OK) GePrint("Teat OK " + LongToString(55 + 3)); 
	return r1 + 3; 
} 