Fernando_Ramos Postado Janeiro 25, 2005 Denunciar Share Postado Janeiro 25, 2005 Amigos, gostaria de saber se é possivel colocar as variaveis publicas que utilizo em meu sistema dentro de um dll ?se for possivel , poderiam me ajudara fazer ? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 s3c Postado Janeiro 25, 2005 Denunciar Share Postado Janeiro 25, 2005 É possível através de ponteiros juntamente c/ compartilhamento de memória colocando ShareMem na primeira linha do uses do dpr da dll e no uses do dpr da sua aplicação.Mas para que finalidade você quer colocar variáveis globais em dll ? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Fernando_Ramos Postado Janeiro 25, 2005 Autor Denunciar Share Postado Janeiro 25, 2005 ixi...poderia me ajudar a fazer.o motivo de colocar as variaveis dentro de uma dll , é mesmo para aprender a usar dlls!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 s3c Postado Janeiro 25, 2005 Denunciar Share Postado Janeiro 25, 2005 Olá, então porque você não começa acessando métodos e funções em dlls? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Fernando_Ramos Postado Janeiro 25, 2005 Autor Denunciar Share Postado Janeiro 25, 2005 eu vi uma coluna aqui no SB, ensinando a usar dlls, ele ensina colocando uma mensagem na dll e a chama pelo programa. no caso das variaveis seriam da mesma forma? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 s3c Postado Janeiro 25, 2005 Denunciar Share Postado Janeiro 25, 2005 Bom, utilizando ShareMem, você compartilha a área de memória do seu .exe c/ a sua .dllA partir daí você tem acesso a qualquer variável de memória tanto do seu .exe quanto da sua .dll. você consegue este acesso através de ponteiros, pois pelas formas normais, você só conseguiria acessar métodos e funções dos quais a dll quiser exportar, porque se ela não exportar, nem isso você tem acesso.Não sei se deu pra você entender, mas vou te dar um ex prático:Suponha que em certo momento de execução na sua dll, você deseje passar uma string p/ sua aplicação(.exe); você pode fazer isso facilmente utilizando SendMessage ou PostMessage:SendMessage({Handle da sua janela} , {Número da msg},Integer(string_na_dll), {LParam(neste caso não utilizado)});Note que Integer(string_na_dll) nada mais é do que um ponteiro de memória onde seu .exe pode 'enxergar'.Por outro lado, se você fizer isto c/ dois .exe, não irá funcionar porque eles rodam em espaços de memória distintos e aí você deverá utilizar um SendMessage c/ tipo Copy_Data que é aonde o Windows intervem fazendo uma ponte de comunicação entre o programa A e o programa B. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Fernando_Ramos
Amigos,
gostaria de saber se é possivel colocar as variaveis publicas que utilizo em meu sistema dentro de um dll ?
se for possivel , poderiam me ajudara fazer ?
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
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.