Проблема совместимости версий Blackberry для нескольких ОС - PullRequest
3 голосов
/ 21 июля 2011

Я разработал приложение для чата на BlackBerry OS 5.0, но мой клиент хочет, чтобы я сделал его переносимым на все платформы от 4.5 до 5.0 и выше. Я пытался использовать директивы препроцессора для компиляции совместимых с ОС классов во время выполнения, но пока мне это не удалось. Я сомневаюсь, как я использую препроцессоры. поэтому я приведу пример здесь:

//#ifdef JDE_4_6_0_AND_ABOVE
/*
//#endif

//some code

//#ifdef JDE_4_6_0_AND_ABOVE
*/
//#endif


//#ifndef JDE_4_6_0_AND_ABOVE
/*
//#endif

//Alternative of code used above

//#ifndef JDE_4_6_0_AND_ABOVE
*/
//#endif

так я делаю это для конкретной части кода. Логика здесь заключается в том, чтобы использовать первый код, если версия ОС 4.6 и выше ... и использовать второй код, если версия ОС ниже 4.6 ....

Но код препроцессоров, похоже, не компилируется ни в одном из случаев.

Примечание: Я поставил "# # preprocess" в начале кода и определил препроцессоры в моем XML-файле дескриптора приложения, но все равно не повезло. Также есть ли другое решение для обработки совместимости между версиями BBOS?

1 Ответ

6 голосов
/ 21 июля 2011

Вы размещаете код вне утверждений.ifdef и ifndef открывают операторы, endif закрывает оператор.Вы также можете использовать #else, поскольку у вас есть только два случая.

//#ifdef JDE_4_6_0_AND_ABOVE

System.out.println("JDE_4_6_0_AND_ABOVE");

//#else

System.out.println("NOT JDE_4_6_0_AND_ABOVE");

//#endif

Приветствия

Луч

...