Czołem Bracia

Od razu powiem,że na AS się nie znam praktycznie ani trochę.

Piszę dllkę zawierającą funkcję zmieniającą programowo rozdzielczość ekranu,która to funkcja jest wywoływana z wnętrza AS.Niestety,mam problem-pola w tworzonym przeze mnie Objectcie nie chcą się ustawić :/

extern "C"
{
	__declspec(dllexport) FREObject setResolution(FREContext ctx, void* funcData, uint32_t argc, FREObject argv[])
	{	
//generalnie wywołanie w AS jest postaci Object o=call("setResoution",1366,768);

		int32_t widthC=0,heightC=0;
		FREGetObjectAsInt32(argv[0],&widthC);//pobór parametrów działa OK
		FREGetObjectAsInt32(argv[1],&heightC);

		DEVMODE dev;//dev jest pobierane przy użyciu EnumDisplaySettings,ale kod zapisujący rozdziałki do listy działa,tak więc wyciąłem go żeby nie przesłaniał istoty problemu.
                      bool wasFound;

		if(wasFound)
		{
			ChangeDisplaySettings(&dev,0);

			FREObject w=0,h=0;

                                  //to tworzenie FREObjectów daje FRE_OK,bo messageboxów nie ma
			if(FRENewObjectFromInt32(widthC,&w)!=FRE_OK) MessageBox(NULL,L"Creation width AS Object from int32 failed!",NULL,MB_OK);
			if(FRENewObjectFromInt32(heightC,&h)!=FRE_OK) MessageBox(NULL,L"Creation height AS Object from int 32 failed!",NULL,MB_OK);

			uint8_t *name=(uint8_t*)"Object";
			FREObject returnedValue=0;
			if(FRENewObject(name,0,NULL,&returnedValue,NULL)!=FRE_OK)
			{
				MessageBox(NULL,L"Creation of returned AS Object failed!",NULL,MB_OK);//nie pokazuje się
				return 0;
			}
			else
			{
				if(FRESetObjectProperty(returnedValue,(const uint8_t*)"width",&w,NULL)!=FRE_OK) MessageBox(NULL,L"Adding 'width' field to the returned AS Object failed!",NULL,MB_OK);
				if(FRESetObjectProperty(returnedValue,(const uint8_t*)"height",&h,NULL)!=FRE_OK) MessageBox(NULL,L"Adding 'height' field to the returned AS Object failed!",NULL,MB_OK);
			}
//ścieżka wykonania przechodzi tutaj,ale próba odczytu returnedValue.width/height już z poziomu flasha daje "undefined".Ktoś wie dlaczego??
			return returnedValue;
		}
		MessageBox(NULL,L"setResolution()-resolution does not exists",NULL,MB_OK);

		return 0;
	}
}

A kurde,niby wszystko jest tak jak to w dokumentacji stoi:
http://help.adobe.com/en_US/air/extensions/WSb464b1207c184b14-456d8e321293d1599a6-8000.html
http://help.adobe.com/en_US/air/extensions/WSb464b1207c184b147d0a96711293ce0de36-8000.html
http://help.adobe.com/en_US/air/extensions/WSb464b1207c184b141d31980e12938cef3a0-8000.html

Jedyny pomysł jaki przychodzi mi na myśl to to,że owo FRESetObjectProperty nie umie stworzyć nowego pola,tylko ustawić na już istniejące-tylko że w takim razie z jakiej paki FRESetObjectProperty(returnedValue,(const uint8_t*)"height",&h,NULL) zwraca FRE_OK??.