Вход в систему
Логин
Пароль
 

Sprint #26: Terrain.Сейчас на сайте 0 посетителей
WoWCore
История 2.0
История 1.0
SandBox

Ресурсы
Форум
Файлы

Документация
Литература
Ссылки


64-bit Platform
← назад к списку

29.09.2011, 03:46

Успешно выполнено портирование кода под 64х битный компилятор Delphi XE2. Только портирования как такового и не было...

Проблемы как всегда возникли в библиотеке mysql и криптографии. mysql.pas был обновлен до последней версии с официального сайта, а для openssl была заменена libeay32.dll на 64х битную. libmysql.dll, разумеется, так же была заменена.

Что касается нашего кода, то возникла небольшая нестыковка в классе таймеров: мультимедийный таймер использует фунцию timeSetEvent и в качестве callback функции передается параметр типа NativeUInt. Все бы хорошо, но в 64х битной среде NativeUInt эквивалентен UInt64, в то время как в 32х битной - Cardinal. Поэтому строчка кода
MMTimer1 := timeSetEvent(FTimerInterval, 1, MyTimerCallBackProg, 100, TIME_PERIODIC);
давала ошибку
[DCC Error] ObjTimer.pas(659): E2010 Incompatible types: NativeUInt and Cardinal
В данном случае замена MyTimerCallBackProg на @MyTimerCallBackProg решило проблему.

Вот, пожалуй, и все трудности перевода. Впечатляет.

Что касается выгоды перехода на 64х битную платформу, то пока рано что-либо говорить. Нужно проводить массивное тестирование обоих платформ и снимать показатели. Важно одно - мы получили долгожданную возможность создавать 64х битные приложения и в целом более менее понятны их преимущества.


Нет комментариев.




Copyright © 2005-2024 WoWCore Team