Гость
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Ошибка при наследовании %Stream.FileCharacter / 2 сообщений из 2, страница 1 из 1
20.03.2015, 07:18
    #38910607
konstantin_11
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при наследовании %Stream.FileCharacter
Пишу такой кодClass test.test Extends %Stream.FileCharacter
{
    Method Write(data As %CacheString = "") As %Status
    {
        quit $$$OK
    }
}
При компиляции возникает ошибка

Код: plaintext
ОШИБКА #5478: Ошибка в сигнатуре ключевого слова test.test:Method:Write, ключевое слово 'useractualtype' должно быть '%Library.Binary' или его подклассом

Вопрос - почему? В классе %Stream.FileCharacter метода Write нет совсем, в предке %Stream.FileBinary метод Write имеет ровно такую же сигнатуру, что и в моем тестовом классе.
...
Рейтинг: 0 / 0
20.03.2015, 09:56
    #38910697
servit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при наследовании %Stream.FileCharacter
konstantin_11Вопрос - почему? В классе %Stream.FileCharacter метода Write нет совсем, в предке %Stream.FileBinary метод Write имеет ровно такую же сигнатуру, что и в моем тестовом классе.Потому что [ OdbcType = LONGVARBINARY] у %Stream.FileBinary.

Если бы был метод Write у %Stream.FileCharacter, то он тоже должен был бы иметь %Binary, а не %CacheString, но тогда и в Вашем классе Вас "попросили" бы использовать уже %String, а не %Binary, поскольку [ OdbcType = LONGVARCHAR ] у %Stream.FileCharacter.
Классы для "поиграться"Class test.testB Extends %Stream.Object [ OdbcType = LONGVARBINARY ]
{
Method Write(data As %CacheString = "") As %Status
{
  quit $$$OK
}
}

Class test.testC Extends test.testB [ OdbcType = LONGVARCHAR ]
{

/*
Method Write(data As %CacheString = "") As %Status
{
  quit $$$OK
}
*/

/*
Method Write(data As %Binary = "") As %Status
{
  quit $$$OK
}
*/

}

Class test.test Extends test.testC [ OdbcType = LONGVARCHAR ]
{

Method Write(data As %CacheString = "") As %Status
{
  quit $$$OK
}

/*
Method Write(data As %String = "") As %Status
{
  quit $$$OK
}
*/

}
...
Рейтинг: 0 / 0
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Ошибка при наследовании %Stream.FileCharacter / 2 сообщений из 2, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]