Переход из Delphi на FreePascal под Windows
Модератор: Модераторы
Я както попытался, чуть мозг не сломал разгребая результаты конвертации форм.
Уж лучше с нуля, тогда ты будешь уверен , что Lazarus сделал все настройки проекта правильно.
Уж лучше с нуля, тогда ты будешь уверен , что Lazarus сделал все настройки проекта правильно.
В Delphi коде использую MaxExtended.
Теперь freepascal ругается на нее:
(854,3) Error: Identifier not found "MaxExtended"
Поискав по папкам обнаружил, что она прописана в модуле math:
Этот модуль подключен у меня еще в Delphi.
Почему тогда не видно константу MaxExtended ???
Теперь freepascal ругается на нее:
(854,3) Error: Identifier not found "MaxExtended"
Поискав по папкам обнаружил, что она прописана в модуле math:
Код: Выделить всё
{$ifdef FPC_HAS_TYPE_EXTENDED}
const
MinExtended = 3.4e-4932;
MaxExtended = 1.1e+4932;
{$endif FPC_HAS_TYPE_EXTENDED}Этот модуль подключен у меня еще в Delphi.
Почему тогда не видно константу MaxExtended ???
AlterEgo - у меня все работает, просто еще раз проверте ваш исходник, может что то затерлось и все такое...
вот пример:
Все отработало хорошо, в Caption вывели значение: 1,1E4932
вот пример:
Код: Выделить всё
procedure TForm1.Button1Click(Sender: TObject);
var E:Extended;
begin
E:=MaxExtended;
Caption:=FloatToStr(E);
end;
Все отработало хорошо, в Caption вывели значение: 1,1E4932
Если это FPC x86_64, то в нём тип Extended не поддерживается и соответствующие константы то же отсутствуют.
Maxizar писал(а):AlterEgo - у меня все работает, просто еще раз проверте ваш исходник, может что то затерлось и все такое...
вот пример:Код: Выделить всё
procedure TForm1.Button1Click(Sender: TObject);
var E:Extended;
begin
E:=MaxExtended;
Caption:=FloatToStr(E);
end;
Все отработало хорошо, в Caption вывели значение: 1,1E4932
И правда в x64 это не компилится, а под x32 все ОК.
Всем спасибо!
Подскажите, как положить готовый EXE или DLL в нужную директорию.
В Delphi была настройка в свойствах проекта Output directory.
А у FreePascal есть такая?
В настройках проекта с использование Lazarus нашел только -FU, но она кладет туда и другие файлы.
В Delphi была настройка в свойствах проекта Output directory.
А у FreePascal есть такая?
В настройках проекта с использование Lazarus нашел только -FU, но она кладет туда и другие файлы.
- Иван Шихалев
- энтузиаст
- Сообщения: 1138
- Зарегистрирован: 15.05.2006 11:26:13
- Откуда: Екатеринбург
- Контактная информация:
AlterEgo писал(а):В настройках проекта с использование Lazarus нашел только -FU, но она кладет туда и другие файлы.
-FU вообще-то не должна класть никуда exe... Его путь указывает -FE, но кладет туда и скомпилированные модули. Чтобы все это разнести нужно использовать обе: -FE<exepath> -FU<ppupath>. В качестве последнего я обычно указываю ~/tmp
Добавлено спустя 1 минуту 36 секунд:
Mr.Smart писал(а):-o
Это имя исполняемого файла, а не путь к нему.
Иван Шихалев писал(а):Mr.Smart писал(а):-o
Это имя исполняемого файла, а не путь к нему.
Указывать в нём путь с именем. Я всегда так делаю.
-o
работает
а где
-FE - в среде lazarus найти можно.
все вроде просмотрел...
работает
а где
-FE - в среде lazarus найти можно.
все вроде просмотрел...
- Иван Шихалев
- энтузиаст
- Сообщения: 1138
- Зарегистрирован: 15.05.2006 11:26:13
- Откуда: Екатеринбург
- Контактная информация:
Отдельной опцией в параметрах проекта не нашел, но там можно произвольные ключи компилятора задавать...
- Nik
- энтузиаст
- Сообщения: 573
- Зарегистрирован: 03.02.2006 23:08:09
- Откуда: Киров
- Контактная информация:
Кстати, упомянутой выше фичи иногда очень не хватает. Я, например, ещё со времён Delphi привык к определённой структуре проекта и теперь для ёё поддержания в Lazarus приходится извращаться с несколькими параметрами. В частности, -o с полный путём (что лишает проект мобильности - на другом компе приходится либо ложить проект в тот же каталог, либо править его конфиг).
Имхо, давно пора добавить параметр "относительный путь к исполнимоу файлу" - хотя бы под соусом совместимости с Delphi.
Имхо, давно пора добавить параметр "относительный путь к исполнимоу файлу" - хотя бы под соусом совместимости с Delphi.
- Brainenjii
- энтузиаст
- Сообщения: 1351
- Зарегистрирован: 10.05.2007 00:04:46
Странно, у меня в Lazarus'е указав имя файла просто "myfile" бинарник компилится в корне проекта
- Nik
- энтузиаст
- Сообщения: 573
- Зарегистрирован: 03.02.2006 23:08:09
- Откуда: Киров
- Контактная информация:
Brainenjii писал(а):Странно, у меня в Lazarus'е указав имя файла просто "myfile" бинарник компилится в корне проекта
А мне в корне не надо, мне надо в отдельной папке (как бы прога обычно не из одного бинарника состоит, и хотелось бы все её файлы держать в кучке, не перемешивая с исходниками).
- Brainenjii
- энтузиаст
- Сообщения: 1351
- Зарегистрирован: 10.05.2007 00:04:46
так и в отдельной папке тоже работает: bin/myfile, например
