Использовать процедурный тип при объявлении процедуры\функци

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

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

zub
долгожитель
Сообщения: 2889
Зарегистрирован: 14.11.2005 22:51:26
Контактная информация:

Сообщение zub »

>>тогда режим правильный выставьте. Или собак уберите, коли режим дельфина нравится....
И режим правильный, и собак опускать нельзя))
Аватара пользователя
Лекс Айрин
долгожитель
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград
Контактная информация:

Сообщение Лекс Айрин »

pupsik писал(а):иногда "дядько" в лазаре ругается.

Ну, значит, дельфи я использовать не буду... ибо раньше ругался. Уж в турбопаскале точно.
pupsik
энтузиаст
Сообщения: 1154
Зарегистрирован: 20.08.2014 16:20:13
Контактная информация:

Сообщение pupsik »

И режим правильный, и собак опускать нельзя))

поехали:
From this example, the difference with Turbo Pascal is clear: In Turbo Pascal it isn’t necessary to use the address operator (@) when assigning a procedural type variable, whereas in Free Pascal it is required. In case the -MDelphi or -MTP switches are used, the address operator can be dropped.

И..и:

Код: Выделить всё

  pp:=mySuperproc;
  pp; //что вы тут хотели сделать? Уж пардон - подтупливает бубен. Смысл не ясен. Т.е. просто переменная?


С другой стороны: ура..а ... вы нашли что то без варнингов и ошибок :)

Добавлено спустя 6 минут 34 секунды:
Re: Использовать процедурный тип при объявлении процедуры\функци
п.с.
Вот кто его знает (испортил правила: скомпилил :)):

Код: Выделить всё

  pp := mySuperproc;
//  pp;         

вывод в консоль:
mySuperproc2
mySuperproc
zub
долгожитель
Сообщения: 2889
Зарегистрирован: 14.11.2005 22:51:26
Контактная информация:

Сообщение zub »

Код: Выделить всё

  pp:=@mySuperproc;//хотел загнать в pp адрес mySuperproc
  pp;//хотел вызвать mySuperproc адрес которой заботливо дежит в pp


Прогоните пошагово как оно работает с собачками и без
pupsik
энтузиаст
Сообщения: 1154
Зарегистрирован: 20.08.2014 16:20:13
Контактная информация:

Сообщение pupsik »

Прогоните пошагово как оно работает
да это я сделал перед тем как написал. С собаками в режиме дельфина - пустышка и без ави. Без собак - ави на pp.
Варнингов и т.д. не наблюдалось. Хотя, на вскидку, вроде как и не должно их быть.

заботливо
:) теоретически заботливо. А практически - надо самому заботиться. С другой стороны: а там что то лежит?

Добавлено спустя 1 минуту 48 секунд:
Re: Использовать процедурный тип при объявлении процедурыфункци
п.с.
Ну, значит, дельфи я использовать не буду
э..э... я на это смотрю с фин. стороны и лицухи. А так ещё не смотрел :)
zub
долгожитель
Сообщения: 2889
Зарегистрирован: 14.11.2005 22:51:26
Контактная информация:

Сообщение zub »

>>хм...
дело совсем не в ав. а в том что без собаки и скобок компилятор не отличает что ты хочешь сделать - взять адрес или выполнить функцию
pupsik
энтузиаст
Сообщения: 1154
Зарегистрирован: 20.08.2014 16:20:13
Контактная информация:

Сообщение pupsik »

Попробуйте так (режим - дельфин)

Код: Выделить всё

....
  result := mySuperproc2;
....
  pp := @mySuperproc;
  pp;     


Добавлено спустя 2 минуты 25 секунд:
Re: Использовать процедурный тип при объявлении процедуры\функци
может найдёте полезность
zub
долгожитель
Сообщения: 2889
Зарегистрирован: 14.11.2005 22:51:26
Контактная информация:

Сообщение zub »

>>Попробуйте так (режим - дельфин)
Зачем мне пробовать? у меня с этим проблем вроде нет))
Нутак опускать собак можно или нельзя?
Аватара пользователя
Лекс Айрин
долгожитель
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград
Контактная информация:

Сообщение Лекс Айрин »

pupsik писал(а): я на это смотрю с фин. стороны и лицухи. А так ещё не смотрел :)


лицензию можно, иногда, прихватить и бесплатно... причем, законными способами. А вот если компилятор мелко подгаживает, то зачем он нужен?
Аватара пользователя
vitaly_l
долгожитель
Сообщения: 3333
Зарегистрирован: 31.01.2012 16:41:41
Контактная информация:

Сообщение vitaly_l »

Лекс Айрин писал(а):лицензию можно, иногда, прихватить и бесплатно... причем, законными способами

Это как?
pupsik
энтузиаст
Сообщения: 1154
Зарегистрирован: 20.08.2014 16:20:13
Контактная информация:

Сообщение pupsik »

Это как?
урезанная версия. И, иногда, весьма.
Аватара пользователя
vitaly_l
долгожитель
Сообщения: 3333
Зарегистрирован: 31.01.2012 16:41:41
Контактная информация:

Сообщение vitaly_l »

pupsik писал(а):урезанная версия. И, иногда, весьма.

Это как?
Аватара пользователя
Лекс Айрин
долгожитель
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград
Контактная информация:

Сообщение Лекс Айрин »

pupsik писал(а):урезанная версия. И, иногда, весьма.


Не только... иногда раздают и полноценную. Понятное дело, что реже.

vitaly_l писал(а):Это как?


допустим, нет исходников компонент, нет некоторых дополнительных прог, уменьшено количество поставляемых компонент... может отсутствовать или быть менее функциональным отладчик, тоже с оптимизатором. Запрет долгой работы и/или сложных проектов (например, если размер больше 3 мб.)... копирайтеры много придумали способов отвратить людей от своих продуктов. Всех не упомнишь.
ElectroGuard
новенький
Сообщения: 71
Зарегистрирован: 03.06.2016 11:10:22

Сообщение ElectroGuard »

olegy123 писал(а):Учите C# все.. наступила новая эра..


Расслабся, новая эра медленно, но верно, идёт к концу:

https://www.tiobe.com/tiobe-index/csharp/
Ответить