Olá, seja bem vindo ao FullCheats.

Aqui você encontrará diversos Tutoriais e hack's
e muito mais

Para ter acesso a todo o conteúdo do Forum, registre-se.
É Fácil, rapido e não demora nem 2 minutos.






    Como Criar Uma dll Para CombaT Arms !

    Compartilhe
    avatar
    Stylish
    Administrador
    Administrador

    Masculino
    Mensagens : 613
    Inscrição : 24/11/2010
    Idade : 431
    Data de nascimento : 12/03/1587
    Emprego/lazer : sagsgtfasga

    Como Criar Uma dll Para CombaT Arms !

    Mensagem por Stylish em Sex 11 Mar - 10:29:04

    [i]Primero Criando uma DLL para Combat Arms



    Esta
    é uma outra dúvida bastante freqüente que chega a nós. "Como posso usar
    uma DLL ?", "Como posso criar uma DLL ?", "Ei, moço! Pra quê serve uma
    DLL ?"



    Pois bem, DLL ou Dynamic Link Libraries, permitem
    que um conjunto de funções desenvolvidas em uma linguagem possam ser
    utilizadas em programas desenvolvidos em outras linguagens.


    Você
    pode, por exemplo, criar uma DLL em Delphi com um conjunto de funções e
    utilizá-la em aplicativos desenvolvidos em C++ ou Visual Basic, por
    exemplo. Agora, vamos começar criando uma DLL:


    Selecione o
    item New do Menu File, para exibir a caixa de diálogo New Items. Agora,
    selecione o item DLL e clique em OK, para gerar o código principal da
    DLL, que se apresenta a seguir:

    Código:

    library Project1;

    {
    Important note about DLL memory management: ShareMem must be the first
    unit in your library's USES clause AND your project's (select
    Project-View Source) USES clause if your DLL exports any procedures or
    functions that pass strings as parameters or function results. This
    applies to all strings passed to and from your DLL--even those that are
    nested in records and classes. ShareMem is the interface unit to the
    BORLNDMM.DLL shared memory manager, which must be deployed along with
    your DLL. To avoid using BORLNDMM.DLL, pass string information using
    PChar or ShortString parameters. }

    uses
    SysUtils, Classes;
    begin
    end.



    Em
    muitas situações, inclusive esta, o arquivo DELPHIMM.DLL deve ser
    distribuído junto à sua aplicação. Uma outra observação muito
    importante, para que você possa escrever suas DLLs, você deve ter
    conhecimentos na Linguagem Object Pascal.


    Vamos continuar
    criando nossa DLL, pois é ela que iremos usar mais para frente. Apenas
    como exemplificação, vamos criar uma função que receba como parâmetros
    dois números reais e retorne o maior deles.


    Código:

    Function Max (a b : double ) : double ; Export ; stdcall ;
    begin
    If ( a > B ) then Result :=a else Result := b ;
    end

    ;


    Export = indica que a função poderá ser chamada por outros aplicativos.

    Stdcall = permite que aplicativos desenvolvidos em outras linguagens façam chamadas à função.


    Após serem feitas estas alterações e salvar o projeto com o nome MAXDLL, nossa DLL ficará assim:

    library Project1;

    {
    Important note about DLL memory management: ShareMem must be the first
    unit in your library's USES clause AND your project's (select
    Project-View Source) USES clause if your DLL exports any procedures or
    functions that pass strings as parameters or function results. This
    applies to all strings passed to and from your DLL--even those that are
    nested in records and classes. ShareMem is the interface unit to the
    BORLNDMM.DLL shared memory manager, which must be deployed along with
    your DLL. To avoid using BORLNDMM.DLL, pass string information using
    PChar or ShortString parameters. }

    uses
    SysUtils,
    Classes;
    function Max(a, b : double):double:expert:stdcall:
    begin
    if ( a > B ) then result:= a else result := b;
    end;

    exports
    Max index 1;
    begin
    end.



    Você pode compilar uma DLL, assim como a um projeto no Delphi, e distribuir livremente.


    PS: Você não pode executar uma DLL pelo Delphi, através do RUN do Menu Run, pois não se trata de uma aplicação.


    Mais
    à frente, você perceberá que uma DLL pode usar formulários e objetos
    definidos em outras unidades. Iremos, agora, chamar uma DLL, a partir de
    outra aplicação.


    Neste exemplo que iremos montar, iremos
    usar: um formulário, duas caixas de texto (os quais o usuário irá
    digitar dois números reais), um botão de comando.

    unit usadll;

    interface

    uses
    Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;

    type
    TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Button1: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    procedure Button1Click(Sender: TObject);
    private
    { Private declarations }
    public
    { Public declarations }
    end;
    function Max(a, b : double):double;stdcall;

    var
    Form1: TForm1;

    implementation

    {$R *.DFM}

    function Max(a, b : double):double;external 'MaxDLL';
    procedure TForm1.Button1Click(Sender: TObject);
    var
    x, y, resultado : double;
    begin
    x := StrToFloat(Edit1.Text);
    y := StrToFloat(Edit2.Text);
    resultado := Max(x,y);
    ShowMessage('Valor Máximo ' +FloatToStr(resultado));
    end;


    PS:
    A função Max está declarada na seção interface e implementada na seção
    implementation, ou seja, a função está implementada em uma DLL.


    Bem,
    mostramos como criar uma DLL simples e como fazer chamada de uma DLL.
    Agora, iremos melhorar nossa DLL, fazendo com que ela exiba um
    formulário qualquer em qualquer aplicação desenvolvida para Windows.


    Colocar os bitmaps na dll

    Por
    vezes, quando iniciamos um projecto, temos uma preocupação: fazer uma
    aplicação pequena. Bem, a solução pode passar por colocar todos os
    bitmaps que vamos utilizar numa dll. Então vamos lá começar:


    Deve
    usar o Image Editor, criar uma nova Resource File (.res), neste
    ficheiro vamos colocar os bitmaps e icons (ambos funcionam da mesma
    forma) que queremos na nossa aplicação, clique com a tecla direita do
    rato na nova resource file e crie um novo bitmap, depois desenhe ou cole
    do clipboard um bitmap, finalmente guarde o ficheiro com o nome
    images.res. Depois disto estar feito vá ao IDE do Delphi e no File menu
    clique New... e escolha DLL depois cole o código abaixo, não se esqueça
    de adicionar uma unit vazia ao projecto. Guarde o projecta da dll no
    mesmo directório do ficheiro image.res, finalmente faça o build da dll
    (não se esqueça, que não se pode correr [executar] uma dll!)


    Código da Dll:


    Código

    library ImageRes; {nome da dll}
    uses DummyUnit; {DummyUnit é uma unit vazia, que é necessária}
    {$R images.res} {nome da resource file, que deve estar no mesmo caminho da dll}
    begin
    end.


    Código da DummyUnit:

    Código:

    unit DummyUnit;
    interface
    implementation
    end

    Usar os bitmaps que estão na dll

    Estão aqui alguns exemplos como extrair os bitmaps da dll:

    procedure TForm1.SpeedButton1Click(Sender:TObject);
    var
    MyHandle :THandle;
    Bmp : TBitmap;
    begin
    MyHandle := LoadLibrary('ImageRes.DLL'); {nome da dll construida acima}
    Bmp := TBitmap.Create;
    Bmp.Handle := LoadBitmap(MyHandle, 'BITMAP1'); {Bitmap1 é o nome do bitmap criado no ficheiro image.res}
    SpeedButton1.Glyph.Handle := LoadBitmap(MyHandle,'BITMAP1'); {Carrega o Bitmap1 para o glyph do SpeedButton1}
    Canvas.Draw(0,0,Bmp); {Desenha o bitmap no canvas da form}
    Image1.picture.bitmap:=Bmp; {Carrega o bitmap para o componente Timage}
    Bmp.Free;
    end;

    Se gostaram naum custa nada agradecer ne?

    Creditos
    ɱʀ.Guʀi
    avatar
    Rohpes
    Membro
    Membro

    Masculino
    Mensagens : 40
    Inscrição : 18/03/2011
    Emprego/lazer : Combat Arms Zone

    Re: Como Criar Uma dll Para CombaT Arms !

    Mensagem por Rohpes em Dom 20 Mar - 8:57:52

    Obrigado por compartilhar.
    Irá ajudar muito gente aqui no Fórum.
    Excelente tutorial.
    avatar
    DarkSeven
    Membro
    Membro

    Masculino
    Mensagens : 29
    Inscrição : 19/03/2011

    Re: Como Criar Uma dll Para CombaT Arms !

    Mensagem por DarkSeven em Qua 23 Mar - 15:22:04

    Obg por compartilhar lek ! mto bom seu topico !! nota 10
    avatar
    ::Thehunter::
    Membro
    Membro

    Masculino
    Mensagens : 43
    Inscrição : 17/04/2011
    Idade : 22
    Data de nascimento : 23/04/1996
    Emprego/lazer : Unilever

    Re: Como Criar Uma dll Para CombaT Arms !

    Mensagem por ::Thehunter:: em Sab 23 Abr - 18:01:16

    Obrigado por compartilhar esta muito bem explicado ira ajudar muita gente do forum
    avatar
    Claraaah
    Designer
    Designer

    Mensagens : 55
    Inscrição : 29/04/2011

    Re: Como Criar Uma dll Para CombaT Arms !

    Mensagem por Claraaah em Seg 2 Maio - 19:25:38

    Obrigado por compartilhar
    mais nao consigo fazer isso .
    t.t
    sempre da erro .
    obrigado mesmo assim

    Conteúdo patrocinado

    Re: Como Criar Uma dll Para CombaT Arms !

    Mensagem por Conteúdo patrocinado


      Data/hora atual: Qui 16 Ago - 4:32:06