OberonCore
https://forum.oberoncore.ru/

Получение списка шрифтов
https://forum.oberoncore.ru/viewtopic.php?f=35&t=6125
Страница 1 из 1

Автор:  Александр К [ Среда, 04 Октябрь, 2017 17:16 ]
Заголовок сообщения:  Получение списка шрифтов

Как получить список шрифтов из модуля Fonts?
Код:
MODULE MyListFonts;
IMPORT Fonts;

PROCEDURE List*;
VAR
   myFont: Fonts.TypefaceInfo;
BEGIN
   myFont := Fonts.Directory.TypeFaceList;(*в этом месте ошибка: разыменованный объект не является переменной*)   
END List;

END MyListFonts.

Автор:  adva [ Среда, 04 Октябрь, 2017 17:43 ]
Заголовок сообщения:  Re: Получение списка шрифтов

В глаза бросается Directory. Это скорее всего имя типа, а имя переменной - обычно dir. Вроде бы маркер ошибки при компиляции устанавливается перед ошибочным методом/свойством, где именно он стоит?

Автор:  Александр К [ Среда, 04 Октябрь, 2017 18:29 ]
Заголовок сообщения:  Re: Получение списка шрифтов

adva писал(а):
Вроде бы маркер ошибки при компиляции устанавливается перед ошибочным методом/свойством, где именно он стоит?

Перед точкой с запятой.
adva писал(а):
В глаза бросается Directory. Это скорее всего имя типа, а имя переменной - обычно dir

В интерфейсе модуля Fonts такое объявление:
Цитата:
Код:
TYPE
...
Directory = POINTER TO ABSTRACT RECORD
...
(d: Directory) TypefaceList(): TypefaceInfo, NEW, ABSTRACT
END;

Далее
Цитата:
Код:
PROCEDURE (d: Directory) TypefaceList(): TypefaceInfo
NEW, ABSTRACT

Возвращает информацию о доступных типах шрифтов. Результатом будет список имён типов шрифтов...

Автор:  adva [ Среда, 04 Октябрь, 2017 18:50 ]
Заголовок сообщения:  Re: Получение списка шрифтов

про что я и говорю, Directory - это имя типа. А ты обращаешься к нему как к переменной. А переменную данного типа смотри в разделе VAR модуля. А там есть переменная dir: Directory

Автор:  adva [ Среда, 04 Октябрь, 2017 18:52 ]
Заголовок сообщения:  Re: Получение списка шрифтов

В общем различай ИмяТипа, и переменные данного типа, у тебя постоянно идет их смешивание.

Попробуй замени:
myFont := Fonts.Directory.TypeFaceList
на
myFont := Fonts.dir.TypeFaceList

Автор:  Илья Ермаков [ Среда, 04 Октябрь, 2017 21:10 ]
Заголовок сообщения:  Re: Получение списка шрифтов

Fonts.dir.TypeFaceList()
- вызов функции требует обязательных скобок! (в отличие от процедуры без параметров).

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/