FPC 2.2

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

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

FPC 2.2

Сообщение Иван Шихалев » 04.04.2007 07:54:06

Пока в официальных новостях ничего нет, но по ftp и спискам рассылки складывается следующая картина: выпущена версия 2.1.3 - как первичная бета 2.2. В исходниках написано, что релиз последует в течение 3-х месяцев. Выделена ветка 2.3, в которой пойдет разработка новых фич — 2.1.х только доводит до ума то, что есть.

А есть не так уж мало. Работает делегация интерфейсов, встроенный линкер... Почти работает OLE Automation — пока не поддерживаются свойства. Работают генерики, но не могу сказать, насколько адекватно — меня они не особо интересуют.
Аватара пользователя
Иван Шихалев
энтузиаст
 
Сообщения: 1138
Зарегистрирован: 15.05.2006 11:26:13
Откуда: Екатеринбург

Сообщение haword » 04.04.2007 08:46:30

когда то в 2.2 обещали сделать поддержку пакетов что то на вроде bpl как в delphi, видать передумали и перенесли на 2.3 как я понял
haword
постоялец
 
Сообщения: 301
Зарегистрирован: 02.03.2006 11:34:40

Сообщение Иван Шихалев » 04.04.2007 08:57:41

haword писал(а):видать передумали и перенесли на 2.3 как я понял

Я понял так же.
Аватара пользователя
Иван Шихалев
энтузиаст
 
Сообщения: 1138
Зарегистрирован: 15.05.2006 11:26:13
Откуда: Екатеринбург

Сообщение Sniper » 04.04.2007 15:17:13

всмысле релиз 2.2 будет через 3 месяца? Debian-way какой-то :twisted:
Sniper
постоялец
 
Сообщения: 472
Зарегистрирован: 28.05.2005 13:02:42

Сообщение Иван Шихалев » 04.04.2007 15:46:39

Что значит Debian-way?
Аватара пользователя
Иван Шихалев
энтузиаст
 
Сообщения: 1138
Зарегистрирован: 15.05.2006 11:26:13
Откуда: Екатеринбург

Сообщение PublicJoke » 04.04.2007 18:46:15

To Иван Шихалев:

Компилятор 2.1.3, идущий вместе с последним Лазарем. Проверил следующие интересующие меня вещи (под Виндой):
- TCustomVariantType.DispInvoke - работает, поверить не могу!
- implements - похоже, что не работает, код такой:

ITest = interface
procedure Proc1;
end;

TImpl = class
public
procedure Proc1;
end;

TAgg = class(TInterfacedObject, ITest)
protected
fImpl: TImpl;

property Impl: TImpl read fImpl implements ITest;
end;

На выделенной строке ругается, говорит:
Unit1.pas(36,53) Error: Implements property must have interface type

Что бы это значило?
PublicJoke
новенький
 
Сообщения: 41
Зарегистрирован: 04.07.2006 12:21:07

Сообщение Sergei I. Gorelkin » 04.04.2007 19:38:28

Значит это, что свойство Impl должно быть интерфейсного типа. Ну или по крайней мере класс TImpl должен реализовывать какой-то интерфейс, иначе конструкция совсем не в тему получается.
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
 
Сообщения: 1406
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград

Сообщение Sniper » 04.04.2007 20:08:43

Иван Шихалев писал(а):Что значит Debian-way?

Ну это я придумал по аналогии с Unix-way, а обозначает оно, долгую разработку между релизами. Debian Etch должен был выйти в ноябре(?), а сейчас апрель :twisted: У них даже слоган есть "Выйдет, когда будет готово" вот и создатели FPC тоже не торопятся :D
Sniper
постоялец
 
Сообщения: 472
Зарегистрирован: 28.05.2005 13:02:42

Сообщение PublicJoke » 04.04.2007 23:38:35

To Иван Шихалев:

Код написан в дельфийской нотации. Описания отличий синтаксиса для FPC я не нашел. Не уточните, что вы имели ввиду?
PublicJoke
новенький
 
Сообщения: 41
Зарегистрирован: 04.07.2006 12:21:07

Сообщение Иван Шихалев » 06.04.2007 07:31:00

Ну... я ничего не говорил ;) а по сути — TImpl не реализует никакой интерфейс, т.е. никакого отношения к implements иметь не может.
Аватара пользователя
Иван Шихалев
энтузиаст
 
Сообщения: 1138
Зарегистрирован: 15.05.2006 11:26:13
Откуда: Екатеринбург

Сообщение PublicJoke » 06.04.2007 11:23:00

To Иван Шихалев:

Предлагаете подправить код? Например, так:

TImpl = class(TInterfacedObject, ITest)

Результат идентичный. Причем, когда я упоминал дельфийскую нотацию, я имел ввиду, что приведенный код успешно компилируется Дельфой и не менее успешно исполняется (в примере приведена только interface-часть).
PublicJoke
новенький
 
Сообщения: 41
Зарегистрирован: 04.07.2006 12:21:07

Сообщение Иван Шихалев » 06.04.2007 11:25:49

Значит, этот момент недоделфен :) Я привык объявлять поле и свойство именно интерфейсного типа — все работает.
Аватара пользователя
Иван Шихалев
энтузиаст
 
Сообщения: 1138
Зарегистрирован: 15.05.2006 11:26:13
Откуда: Екатеринбург

Сообщение PublicJoke » 06.04.2007 15:01:54

To Иван Шихалев:

Давайте добьём тему? Приведите, пожалуйства, код для FPC, использующий делегирование и успешно компилирующийся у Вас.

Прошу прощения, разобрался сам. FPC реализует только вариант, который в документации к Delphi называется "Delegating to an interface-type property", а я обычно использую "Delegating to a class-type property". Виноват.
PublicJoke
новенький
 
Сообщения: 41
Зарегистрирован: 04.07.2006 12:21:07

Сообщение rv82 » 23.04.2007 12:09:27

haword писал(а):когда то в 2.2 обещали сделать поддержку пакетов что то на вроде bpl как в delphi...

А зачем это надо? Чтобы была зависимость от наличия на машине дистрибутива FPC? Линковать пакет к приложению - тоже сомнительное удовольствие, т.к. конечный продукт увеличивается в размерах. Или я просто не знаю преимуществ пакетов в Delphi? А ведь не знаю же! :) А недостатки заню :wink:
Работают генерики, но не могу сказать, насколько адекватно...

Интересно, а это ещё зачем??? Видимо, хотят из красивого Паскаля сделать монстра, похожего на C++. Вот так вот языки и вырождаются :cry:
rv82
новенький
 
Сообщения: 15
Зарегистрирован: 23.04.2007 10:28:43

Сообщение alexs » 24.04.2007 01:28:54

Самое главное преимущество пакетов - это удалённое сопровождение разработок
мой опыт:
у клиента стоит наш большой комплекс
обновления и доработки проходят регулярно
в целях минимизации трафика используются пакеты
без пакетов размер обновления - 10-15 мег
при пакетах - до 1 мега
ещё это очень хорошая замена стандартным dll винды - причина таже - уменьшение размера исполняемых модулей
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

След.

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

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

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

Рейтинг@Mail.ru