Перейти к содержанию
Fire Monkey от А до Я
  • 0

У меня не получается собрать приложение с потоками на C++ Builder под Андроид


antarey

Вопрос

После создания мастером файл с потоками TThread, сборка проекта заканчивается ошибкой:

 

"project..." uses unit "vcl" from the "VCL" framework which is not compatible with the project. Adding it may result in compilation errors or unexpected behavior. Continue?

 

post-1-0-89582400-1395910733_thumb.png

post-1-0-39076400-1395910735_thumb.png

post-1-0-88820600-1395910734_thumb.png

post-1-0-40136000-1395910734_thumb.png

Ссылка на комментарий

Рекомендуемые сообщения

  • 0

Лучше вам показать свой код. Но если легче станет - то вот:

unit uReger;

interface

{ //////////////////////////////////////////////////////////////////////////// }
{ ..............Компонент.для.регистрации.персонажей.TgReger.................. }
{ ...........................Версия 2.0....................................... }
{ ................Автор:.Сысоев.Максим........................................ }
{ .............................Орловка,.2.0.1.3.г............................. }

{ ToDo
  * Не получается запросить код восстановления
}

{
  //ver 2.0.2 - 16.01.2014
  = Возможность рандомного выбора пола
  //  ver 2.0.1 - 28.12.2013
  = Полная(Нужно еще тестировать) работоспособность в Android
  //  ver 2.0 - 25.12.2013
  = Рефракторинг кода
  = Профиксил много ошибок
  = Наконец-то запустился регер на Anroid
  = Увеличил живучесть персов
}
{
  ver < 2.0
  * Основа кода
}
uses
  {****************************************}
  idHTTP, GHash73, uMiniUtils,
  {****************************************}
  System.SysUtils, System.Classes;

type
  TgReger = class;

  { ************************************************************************** }
  TUser = record
    Nick, Id, PassWord, Recover, Status: string;
  end;

  TProgressType = (ptStart, ptGetInfo, ptSendReg, ptGetKapcha, ptGetRecover);
  { ************************************************************************** }
  TOnNeedKapcha = procedure(Sender: TObject; Const Kapha: TStream) of object;
  TOnError = procedure(Sender: TObject; const ErrorType, Msg: string) of object;
  TOnGoodReg = procedure(Sender: TObject; const AUser: TUser) of object;
  TOnProgress = procedure(Sender: TObject; const Range: TProgressType)
    of object;

  { ************************************************************************** }
  gSex = (gsMan, gsGirl, gsRandom);
  gCharMap = (cmRU, cmEN, cmDigit, cmRuDigit, cmEnDigit);

  { ************************************************************************** }
  TRegerThread = class(TThread)
  private
    gReger: TgReger;
  protected
    procedure Execute; override;
  public
    constructor Create(AgReger: TgReger);
  end;

  { ************************************************************************** }
  TgReger = class(TComponent)
  private
    fOnError: TOnError;
    fOnKapcha: TOnNeedKapcha;
    fOnGoodReg: TOnGoodReg;
    fOnProgress: TOnProgress;
    { Private declarations }
    fHTTP: TIdHTTP;
Ссылка на комментарий
  • 0
  • Администраторы
  • Дело в том, что класс TThread является частью библиотеки RTL и не зависит от VCL никаким способом. Поэтому, это сообщение может появится из-за ошибочного подключения файлов VCL.
  • Так же RTL полностью кроссплатформенна. Поэтому работа с классом TThread одинакова для всех платформ.

Резюме

Нужно проверить все файлы проекта и убедиться, что они не используют файлы VCL.

 

А именно Unit2.cpp, поскольку речь в сообщение об ошибке идет именно об этом модуле.

 

Проверил на чистом проекте, описанное вами поведение в RAD Studio XE6 Beta, не обнаружил.

Ссылка на комментарий
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...