Ir para conteúdo
Fórum Script Brasil
  • 0

Duvida Com @


darth_ivan

Pergunta

3 respostass a esta questão

Posts Recomendados

  • 0

Olá,

Se eu não me engano quando se tem @ antes da variável, você está pegando o conteúdo de um endereço de memória. Dê uma olhada em ponteiros...

Ex:

var

a, b: ^integer; // declarando um ponteiro

c: integer;

begin

a:=b; // a recebe o valor de b

c:=@a; // c recebe o conteudo de a;

end;

obs: Se tiver erro, alguém me corrija...

abs.

Link para o comentário
Compartilhar em outros sites

  • 0

opa

é isso mesmo, se usa o @ pra se passar/acessar

ponteiros...

É usado principalmente quando vai ser passadas

variaveis entre EXE-DLL por exemplo, pra permitir

que a DLL por exemplo tenha acesso de leitura e

escrita naquela variavel...

claro existem diversas maneiras de se fazer isso,

mas uma delas é usando o @ pra indicar aonde está

alocada a variavel na memoria

Exemplo simples

type
  TQlqcoisa = packed record
     Um: Integer;
     Dois: Integer;
     Tres: Integer;
  end;
  PQlqcoisa = ^TQlqcoisa;

(* EXE *)

function Bla(Parametro: LongInt); StdCall; external 'minhadll.dll';

procedure Ble;
var
  Qlqcoisa: TQlqcoisa;
begin
  Bla(Integer(@Qlqcoisa));
  //Aqui a dll definiu as variaveis Um pra valor 1, Dois pra 2 e Tres pra 3 =p
end;

(* DLL *)

function Bla(Parametro: LongInt); StdCall;
begin
  PQlqcoisa(Parametro)^.Um := 1;
  PQlqcoisa(Parametro)^.Dois := 2;
  PQlqcoisa(Parametro)^.Tres := 3;
end;

abs

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...