Преобразование типов и ppcrossx64.exe

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Преобразование типов и ppcrossx64.exe

Сообщение _SAA » 11.11.2008 14:51:30

Помогите новичку. Хочу попробовать откомпилить небольшой проект под win64.
Использую ppcrossx64.exe.
Наблюдаю ошибки на преобразовании типов записей, например, в SqlTimSt.pas
Код: Выделить всё
procedure TSQLTimeStampVariantType.Clear(var V: TVarData);
begin
  V.VType := varEmpty;
  FreeAndNil(TSQLTimeStampVarData(V).VDateTime); <- тут выдает ошибку
end;

SqlTimSt.pas(438,14) Error: Illegal type conversion: "<record type>" to "<record type>"

и таких мест много.
Пробовал преобразовывать через указатели, получается:
SqlTimSt.pas(438,14) Error: Illegal type conversion: "^untyped" to "<record type>"

Что не так делаю?
_SAA
незнакомец
 
Сообщения: 3
Зарегистрирован: 11.11.2008 14:21:11

Re: Преобразование типов и ppcrossx64.exe

Сообщение Юра » 11.11.2008 15:18:42

TVarData <> TSQLTimeStampVarData для x64.
Юра
постоялец
 
Сообщения: 163
Зарегистрирован: 25.05.2005 10:20:09
Откуда: Украина, Киев

Re: Преобразование типов и ppcrossx64.exe

Сообщение _SAA » 11.11.2008 16:08:19

аааа, понятно. ну тогда это надолго...
А где можно почитать про перевод на 64бит. В частности про соответствие типов данных. ну и вообще ?
Спасибо.
_SAA
незнакомец
 
Сообщения: 3
Зарегистрирован: 11.11.2008 14:21:11

Re: Преобразование типов и ppcrossx64.exe

Сообщение *vmr » 12.11.2008 00:32:14

Посмотрите, для начала, что из себя представляют TSQLTimeStampVarData и TVarData. А там уже видно будет...
Аватара пользователя
*vmr
постоялец
 
Сообщения: 168
Зарегистрирован: 08.01.2007 01:46:07
Откуда: Киев

Re: Преобразование типов и ppcrossx64.exe

Сообщение _SAA » 12.11.2008 12:25:35

с ними я уже быстро разобрался. Сейчас застрял на variants.pas, activeX.pas (он почему-то в виде activeX.ppu неполный), comobj.pas ... (есть подозрение что этот этап будет непреодолимым)
Кстати, заметил что компилятор часто выдает identifier not found несмотря на то, что в uses указан модуль, где этот идентифаер следовало бы поискать. Т.е. как-то странно обходит модули. Это что-то не указано в параметрах ?
_SAA
незнакомец
 
Сообщения: 3
Зарегистрирован: 11.11.2008 14:21:11

Re: Преобразование типов и ppcrossx64.exe

Сообщение Mr.Smart » 12.11.2008 14:58:04

Скорее всего этот идентификатор описан внутри деректив вида
Код: Выделить всё
{$IFDEF WIN32}
...
{$ENDIF}

И он соответственно в коде для 64 разрядной системы виден не будет.
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!


Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

Рейтинг@Mail.ru