Bonjour,
J'ai un petit soucis sur la gestion des blobs dans ECO dans une appli VCL.NET sous BDS.
Dans le modèle UML, quand un attribut d'une classe à une propriété de type blob, ECO génére une propriété de type Array of Byte.
J'ai un problème pour copier un stream dans ce type de champ.
setlength(MonObj.BinBlob, flux.Size);
=> Erreur de compilation
[Pascal Error] E2197 Constant object cannot be passed as var parameter
L'explication de l'erreur est simple, BinBlob est une propriété et les propriétés ne peuvent être utilisé comme des paramètres.
Properties can't be accessed as var parameters . The compiler has no way of knowing (because it may not have compiled that code yet - it only makes one pass, remember?) whether that property is a simple type (integer, string, etc.) that is simply being set, or if it's actually a setter method that has side effects.
Par contre, je ne sais pas comment contourner cette limitation.
Existe t'elle aussi en C# ?
Partager