Хобрук: Ваш путь к мастерству в программировании

IDE успешно компилируется, но dcc32 пишет: Ошибка: E2010 Несовместимые типы: 'Integer' и 'NativeInt'

Delphi XE2 Update 3 IDE успешно компилирует проект, но dcc32.exe пишет:

Embarcadero Delphi for Win32 compiler version 22.0
Copyright (c) 1983,2010 Embarcadero Technologies, Inc.
ehshelprouter.pas(137) Error: E2010 Incompatible types: 'Integer' and 'NativeInt'
ehs_reg.pas(68) Fatal: F2063 Could not compile used unit 'ehshelprouter.pas'

Почему? Строка 137:

Application.OnHelp := OnRouteHelp; // function OnRouteHelp(Command: Word; Data: NativeInt; var CallHelp: Boolean): Boolean;

Спасибо за помощь!


  • Как на самом деле выглядит код вокруг строки 137 файла ehshelprouter.pas? 22.12.2011
  • Покажи код!! Бьюсь об заклад, TControl.Tag задействован. 22.12.2011

Ответы:


1

Вы по ошибке используете более старый dcc32.exe (возможно, Delphi XE?). Проверьте параметр PATH или укажите полный путь к XE2 dcc32.exe в вашей компиляции. XE2 должен отображать эту информацию о версии:

Embarcadero Delphi для компилятора Win32 версии 23.0

22.12.2011

2

Проверьте соответствующую строку. Если говорится, что два типа, которые должны быть совместимы, несовместимы, то происходит нечто более сложное, чем простое присваивание. Если бы мне пришлось угадывать, что-то передает указатель на функцию, и API изменился. Попробуйте проверить этот случай...

22.12.2011

3

Вы дважды проверили, что вы не компилируете для Win64 с помощью командной строки? (т. е. убедитесь, что на самом деле вызывается dcc32.exe).
В этом случае NativeInt имеет размер 64 бита, и появление этой ошибки было бы нормальным.

Кроме того, пытаетесь ли вы выполнить полную сборку с помощью параметра -B, например (c:\program files\embarcadero\rad studio\9.0\bin\dcc32.exe -$O- -$W+ --no-config-B-Q...) или простого компилировать с параметром -M, например (c:\program files\embarcadero\rad studio\9.0\bin\dcc32.exe -$O- -$W+ --no-config-M-Q...)?

Я бы также попытался стереть все dcus, чтобы посмотреть, поможет ли это.

И поскольку это работает из IDE, попробуйте захватить командную строку, показанную в области сообщений, и попробуйте точно такую ​​же строку в консоли.

22.12.2011
  • Как отключить 64 бит в dcc32.exe? 22.12.2011
  • Обновил мой ответ. Предполагается, что Dcc32.exe выдает только 32-битный код, но действительно ли это ожидаемый/хороший dcc32.exe? 22.12.2011
  • Новые материалы

    Дрейф концепций в ИИ
    Что такое концептуальный дрейф? Дрейф понятий — это явление в искусственном интеллекте и машинном обучении, при котором основное распределение данных меняется со временем. Это изменение в..

    Изучите Vue перед React. Вот почему
    Сегодняшняя сеть представляет собой запутанный беспорядок из разных языков, библиотек и фреймворков, и начинающие веб-разработчики часто не могут понять, что изучать в первую очередь. Что вы..

    Гл.31 — Помощь слабослышащим с помощью возможностей машинного обучения Apple Watch.
    1 500 000 000  – количество людей с потерей слуха в мире. Это почти 20% населения Земли! (источник: who.int ) Недавно я экспериментировал с Apple Sound Classification API, и результаты на..

    Машинное обучение без кода / Глубокое обучение Каждый специалист по обработке и анализу данных должен знать
    Akkio, Очевидно.ай, DataRobot, Левити, Clarifai, Teachable Machines, Lobe, Pimer, DynaBench, APAflow Teachable Machine- https://teachablemachine.withgoogle.com/ Vertex AI..

    Код, который работает вместе, остается вместе
    Первоначально это было опубликовано в tiagojdf . Когда я только начинал как младший программист, я всегда терялся, глядя на внутренний код. Я предположил, что отчасти это было из-за того,..

    Эта модель Google сочетает в себе рассуждение и действие в рамках одной языковой модели.
    ReAct предоставляет архитектуру, которая инициирует действия на основе путей рассуждений языка. Недавно я запустил образовательный информационный бюллетень, посвященный ИИ, у которого уже..

    Сортировка структур JSON по нескольким полям в JavaScript
    Array.sort() не для слабонервных. Особенно, когда речь идет о сортировке сложных структур данных. Большинство руководств по JavaScript дают только краткое введение в Array.sort() . Обычно..