Published on InterSystems Developer Community (https://community.intersystems.com)

Inicio > Cuando se sobreescribe el método Read de %Stream.FileCharacter retorna un error al compilar sobre la firma incorrecta

Comentarios
Mathew Lambert · 22 sep, 2021

Cuando se sobreescribe el método Read de %Stream.FileCharacter retorna un error al compilar sobre la firma incorrecta

Sobreescribiendo el método Read (que tiene un tipo de retorno %CacheString) en una nueva clase que hereda de %Stream.FileCharacter, se obtiene un error de compilacion informando que el tipo de retorno es incorrecto y ha de ser Binary, aun cuando matchea la firma del padre.

Mirando la global de codigo compilado vemos:

^oddCOM("%Stream.FileBinary","m","Read",42)="%Library.Binary"

Despues de más investigaciones encontramos que hay un método generator que mira la definicion de clase OdbcType.

Seteandolo a LONGVARCHAR nos da:

^oddCOM("User.CStream","m","Read",42)="%Library.String"

#Compilador #ObjectScript #InterSystems IRIS

URL de fuente:https://es.community.intersystems.com/post/cuando-se-sobreescribe-el-m%C3%A9todo-read-de-streamfilecharacter-retorna-un-error-al-compilar-sobre