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

Responder a