Найдено 7 результатов

Dmitro25
04.12.2019 13:39:02
Форум: Обучение Free Pascal
Тема: Странный пример кода из документации
Ответы: 21
Просмотры: 37876

Re: Странный пример кода из документации

Похоже, разобрался с помощью статьи GunSmoker'a и Help-a от Embarcadero
В родном компиляторе Delphi в обычный метод класса передаётся скрытый параметр Self - указатель на данные экземпляра данного класса;
в метод, помеченный ключевым словом "class" (например "class procedure") скрытый параметр ...
Dmitro25
04.12.2019 10:05:45
Форум: Обучение Free Pascal
Тема: Странный пример кода из документации
Ответы: 21
Просмотры: 37876

Re: Странный пример кода из документации

java73 писал(а):Уже писали, что
TTest = object ?
Попробуйте как class объявить.

Пробовал. Ругается на ключевое слова "static"; если его заменить на "class procedure" - точно так же даёт скомпилировать данный пример в режиме {$mode delphi}
Dmitro25
02.12.2019 10:47:00
Форум: Обучение Free Pascal
Тема: Странный пример кода из документации
Ответы: 21
Просмотры: 37876

Re: Странный пример кода из документации

serbod
Вот здесь можно про этот "var" прочитать касательно Delphi.
Dmitro25
30.11.2019 20:35:58
Форум: Обучение Free Pascal
Тема: Странный пример кода из документации
Ответы: 21
Просмотры: 37876

Re: Странный пример кода из документации

iskander писал(а):Операция взятия адреса возвращает нетипизированный указатель

Да я даже не про операцию взятия адреса, а про тело самой процедуры "class procedure TTest.Testproc;", как она-то скомпилировалась, если в ней переменная "f" используется?
Dmitro25
30.11.2019 14:31:39
Форум: Обучение Free Pascal
Тема: Странный пример кода из документации
Ответы: 21
Просмотры: 37876

Re: Странный пример кода из документации

iskander
Слушайте, а как у вас Delphi допустил компиляцию вашего кода, если в классовой процедуре "class procedure TTest.Testproc;" присваивается "f:=1;", ведь f - переменная, относящаяся к экземпляру, а не к классу в целом?

FPC 3.3.1 вполне компилирует.
У меня версия 3.0.4 (вроде, последний ...
Dmitro25
30.11.2019 09:16:09
Форум: Обучение Free Pascal
Тема: Странный пример кода из документации
Ответы: 21
Просмотры: 37876

Re: Странный пример кода из документации

А что говорит душка Delphi насчёт этого примера?
Delphi (у меня 7-ой) компилирует только если объявить "P : Procedure of object;", закомментировать строку "P:=TTest.Myproc;" и убрать "@" в последующих строках (ну, не считая того, что пришлось закомментировать в определении самого объекта "const ...
Dmitro25
29.11.2019 19:49:33
Форум: Обучение Free Pascal
Тема: Странный пример кода из документации
Ответы: 21
Просмотры: 37876

Странный пример кода из документации

Здравствуйте!
Я новичок во FreePascal, но не новичок в Delphi.
В процессе изучения документации "Free Pascal Reference guide" наткнулся на пример кода, который показался мне странным (CHAPTER 5. OBJECTS - Class or static methods, стр. 79 PDF-документа):

{$APPTYPE CONSOLE}
{$IFDEF FPC}{$MODE DELPHI ...