Universal Fórum
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Procurar
 
 

Resultados por:
 


Rechercher Pesquisa avançada

Entrar

Esqueci-me da senha

Últimos assuntos
» Civilization
 Como Criar Uma dll Para Combat Arms EmptySáb Ago 24, 2024 9:59 am por Civilization

» [UF] Reinauguração da Universal Fórum
 Como Criar Uma dll Para Combat Arms EmptySeg Jul 08, 2024 8:54 pm por Reset

» Reencontro Mensal
 Como Criar Uma dll Para Combat Arms EmptySex Nov 24, 2023 5:04 pm por -Destruidor

» O que VOCÊ faz hoje em dia
 Como Criar Uma dll Para Combat Arms EmptyTer Set 05, 2023 11:49 pm por αvαsŧ™

» mais um ano xD
 Como Criar Uma dll Para Combat Arms EmptyTer Ago 22, 2023 11:16 am por SouthPark.

» Retorno do Droops.
 Como Criar Uma dll Para Combat Arms EmptyQui Mar 09, 2023 6:32 pm por , WallMaster

» 10 anos de Universal Fórum
 Como Criar Uma dll Para Combat Arms EmptyTer maio 10, 2022 4:47 pm por Reset

» Saudades rs'
 Como Criar Uma dll Para Combat Arms EmptyQui Mar 17, 2022 11:24 pm por HeaD

» Saudades de vocês
 Como Criar Uma dll Para Combat Arms EmptySáb Fev 05, 2022 3:52 pm por -Gui

» Sim... é mais um post de um antigo usuário com saudade do fórum
 Como Criar Uma dll Para Combat Arms EmptyQua Nov 17, 2021 9:35 pm por HeaD

Top dos mais postadores
Niak (5977)
 Como Criar Uma dll Para Combat Arms Vote_lcap Como Criar Uma dll Para Combat Arms Voting_bar Como Criar Uma dll Para Combat Arms Vote_rcap 
qυicкscσρє™ (5569)
 Como Criar Uma dll Para Combat Arms Vote_lcap Como Criar Uma dll Para Combat Arms Voting_bar Como Criar Uma dll Para Combat Arms Vote_rcap 
тнєвєєsτ™ (5194)
 Como Criar Uma dll Para Combat Arms Vote_lcap Como Criar Uma dll Para Combat Arms Voting_bar Como Criar Uma dll Para Combat Arms Vote_rcap 
Sheik (4936)
 Como Criar Uma dll Para Combat Arms Vote_lcap Como Criar Uma dll Para Combat Arms Voting_bar Como Criar Uma dll Para Combat Arms Vote_rcap 
THIΛĞØ (4651)
 Como Criar Uma dll Para Combat Arms Vote_lcap Como Criar Uma dll Para Combat Arms Voting_bar Como Criar Uma dll Para Combat Arms Vote_rcap 
HeaD (4252)
 Como Criar Uma dll Para Combat Arms Vote_lcap Como Criar Uma dll Para Combat Arms Voting_bar Como Criar Uma dll Para Combat Arms Vote_rcap 
Civilization (4150)
 Como Criar Uma dll Para Combat Arms Vote_lcap Como Criar Uma dll Para Combat Arms Voting_bar Como Criar Uma dll Para Combat Arms Vote_rcap 
Stronda (4146)
 Como Criar Uma dll Para Combat Arms Vote_lcap Como Criar Uma dll Para Combat Arms Voting_bar Como Criar Uma dll Para Combat Arms Vote_rcap 
Arthur29 (4099)
 Como Criar Uma dll Para Combat Arms Vote_lcap Como Criar Uma dll Para Combat Arms Voting_bar Como Criar Uma dll Para Combat Arms Vote_rcap 
ϟ Nunnes (4050)
 Como Criar Uma dll Para Combat Arms Vote_lcap Como Criar Uma dll Para Combat Arms Voting_bar Como Criar Uma dll Para Combat Arms Vote_rcap 

Os membros mais ativos do mês
Nenhum usuário

Usuário:

Senha:

Lembrar dados?


Como Criar Uma dll Para Combat Arms

+7
Newton
ทστє мαgทσ
Mix
тнєвєєsτ™
Sheik
Lipz
Randy
11 participantes

Ir para baixo

 Como Criar Uma dll Para Combat Arms Empty Como Criar Uma dll Para Combat Arms

Mensagem por Randy Qua Jul 25, 2012 5:26 pm

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:
Codigo:

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 Randy
Randy
Randy
Membro Avançado
Membro Avançado

Mensagens : 2546
Reputação : 315
Pontos : 7079

http://<a href="http://www.minirecados.com"><

Ir para o topo Ir para baixo

O autor desta mensagem foi banido do fórum - Mostrar mensagem

 Como Criar Uma dll Para Combat Arms Empty Re: Como Criar Uma dll Para Combat Arms

Mensagem por Sheik Qua Jul 25, 2012 5:28 pm

Obrigado Por Compartilhar .
Sheik
Sheik
Membro Formado
 Membro Formado

Mensagens : 4936
Reputação : 1108
Pontos : 13974
Cash : 510

Ir para o topo Ir para baixo

 Como Criar Uma dll Para Combat Arms Empty Re: Como Criar Uma dll Para Combat Arms

Mensagem por тнєвєєsτ™ Qua Jul 25, 2012 5:43 pm

Vai ajudar muita gente parabens!!
avatar
тнєвєєsτ™
Membro Formado
 Membro Formado

Mensagens : 5194
Reputação : 651
Pontos : 7069

Ir para o topo Ir para baixo

 Como Criar Uma dll Para Combat Arms Empty Re: Como Criar Uma dll Para Combat Arms

Mensagem por Mix Qui Jul 26, 2012 9:56 pm

Ótimo Tópico ,
To Gostando de Ver Maninho .
Mix
Mix
Expert
Expert

Mensagens : 2464
Reputação : 526
Pontos : 7375

Ir para o topo Ir para baixo

 Como Criar Uma dll Para Combat Arms Empty Re: Como Criar Uma dll Para Combat Arms

Mensagem por ทστє мαgทσ Qua Ago 01, 2012 1:30 am

obrigado por compartilhar ^^
ทστє мαgทσ
ทστє мαgทσ
Expert
Expert

Mensagens : 1722
Reputação : 249
Pontos : 6268

https://universal.forumeiros.net/

Ir para o topo Ir para baixo

 Como Criar Uma dll Para Combat Arms Empty Re: Como Criar Uma dll Para Combat Arms

Mensagem por Newton Sáb Set 01, 2012 9:39 am

Lipz escreveu:Obrigado Por Compartilha com o Forum !
Newton
Newton
Membro Gold
Membro Gold

Mensagens : 1497
Reputação : 455
Pontos : 7520

Ir para o topo Ir para baixo

 Como Criar Uma dll Para Combat Arms Empty Re: Como Criar Uma dll Para Combat Arms

Mensagem por мσиsтєя Sáb Set 01, 2012 9:40 am

Sr.Deиer escreveu:
Ótimo Tópico ,
To Gostando de Ver Maninho .
мσиsтєя
мσиsтєя
Expert
Expert

Mensagens : 1825
Reputação : 559
Pontos : 6818

Ir para o topo Ir para baixo

O autor desta mensagem foi banido do fórum - Mostrar mensagem

 Como Criar Uma dll Para Combat Arms Empty Re: Como Criar Uma dll Para Combat Arms

Mensagem por -Gui Sáb Set 22, 2012 7:03 pm

Vlw amg consegui cria ..
-Gui
-Gui
Expert
Expert

Mensagens : 1573
Reputação : 211
Pontos : 6477

http://ddtank.com.br

Ir para o topo Ir para baixo

 Como Criar Uma dll Para Combat Arms Empty Re: Como Criar Uma dll Para Combat Arms

Mensagem por ByFrost Seg Set 24, 2012 10:46 am

Muito Obrigado Por Compartilhar Conosco
ByFrost
ByFrost
Membro
Membro

Mensagens : 183
Reputação : 17
Pontos : 5122

http://www.transformice.com

Ir para o topo Ir para baixo

 Como Criar Uma dll Para Combat Arms Empty Re: Como Criar Uma dll Para Combat Arms

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos