2009/12/13 Guionardo Furlan <guiona...@gmail.com>: > Como o pessoal já esclareceu o assunto, só vou adicionar um fato que > aconteceu aqui. > Eu substituí o delphi pelo fpc/lazarus, e no caso de ter que persistir o > conteúdo de um set, não deu certo usar o cast. > Não sei se isso é coisa do FPC, mas solucionei da seguinte maneira: > > type > TMeusTipos = (aTipo1, aTipo2, aTipo3); > TMeuSet = set of TMeusTipos; > > function MeuSetToInt(const S: TMeuSet): Integer; > var P : PLongInt; > begin > P:=...@s; > Result:=P^; > end; > > function IntToMeuSet(const I: Integer): TMeuSet; > var P: PLongInt; > begin > P:=...@result; > P^:=I; > end;
O modo objfpc é mais restrito quanto ao uso de ponteiros. Você pode ou trocar o modo para delphi ou mudar a forma que você faz o cast. Joao Morais