Good evening,
Para alguns desenvolvedores que vem de outras linguagens, algumas vezes surge a confusão se as variáveis são atribuídas/passadas por referência ou valor, ai segue a tabela abaixo tirada do blog: http://gatesasbait.spaces.live.com/
String, Integer, Real, Date, Enum, Container, Guid, Int64 são atribuídas e passadas por VALOR.
Record = atribuído e passado por REFERÊNCIA.
Class (instância) = atribuída e passada por REFERÊNCIA.
AnyType atribuída e passada por VALOR, mesmo quando contém um Record ou uma instânciade Class
[]s
Ricardo Pichler
2 Responses
Gatesasbait
17|Feb|2009 1Nice blog Ricardo,
Another thing to note about containers and records: while a select statement executed on a table in X++ may yield multiple records (the results can be iterated by using the ‘next’ keyword on the record buffer) when such a record is [packed] in a container, only the first record is packed (its ‘value’ is packed), therefore once unpacked ‘next’ cannot be called again to retrieve the rest of the resultset.
Gatesasbait
17|Feb|2009 2Packing anything in a container is similar to ‘serialization’ (http://en.wikipedia.org/wiki/Serialization)
Leave a reply