Dll

Delphi

12/10/2005

Amigos,

boa tarde.
venho atraves desta pedir novamente ajuda a vocês.

Quero implementar em meu sistema, uma Dll que contenha algumas variaveis.

Resumindo, queria saber se é possivel colocar VARIAVIES em Dll, caso sim, como fazer e como chamar as VARIAVEIS no sistema.

obrigado amigos.


Framosip

Framosip

Curtidas 0

Respostas

Marcio.theis

Marcio.theis

12/10/2005

De que tipo de variáveis vc estaria falando ???


GOSTEI 0
Framosip

Framosip

12/10/2005

bom....

nao sei ao certo quais usarei..mas provavelmete string, integer,....

por que há restrições quanto a tipo de variaveis?

obrigado pela ajuda!!!


GOSTEI 0
Fabiano Góes

Fabiano Góes

12/10/2005

E ai Geoge Benson beleza ? como vai os shows ? Ainda esta cantando essa onda Pop ? guando você vai voltar a tocar Jazz como antigamente ?
:lol: Brincadeira !!!!

Bom amigo porque não colocar essas variáveis em um Unit onde você pode além de guardar variáveis você pode guardar Procedures e Funções que podem ser usadas em qualquer parte do sistema .

Porque deveria ser em uma Dll ?


GOSTEI 0
Framosip

Framosip

12/10/2005

hahahaha george vai bem!!!

amigo....o ´PORQUE´ de querer colocar as variaveis em uma DLL...é apenas...uma questão de arrumação e de aprendizado.

1º - irei arrumar todas as variaveis globais do sistema na DLL
2º - irei aprender como criar uma DLL e como chama-la em meu sistema!

obrigado amigos.
aguardo a ajuda de vcs!


GOSTEI 0
Fabiano Góes

Fabiano Góes

12/10/2005

Amigo George Benson, é o seguinte vou te dar uma dica de como arrumar(centralizar) Variaveis, funções, procedures e etc em um Unit(biblioteca):
Crie uma Unit: File> New > Unit
unit SuaBiblioteca;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Menus, Buttons, ExtCtrls, StdCtrls, ComCtrls, ToolWin, ImgList, DBTables, DB,DbGrids, ShellApi, Jpeg, Registry, Grids, Typinfo, DbCtrls, BtnColor, Variants;

var
     sSorter: String = ´C:\SORTER\´; 
     sTables: String = ´C:\TABLES\´;
     sParam : String; 
     sRST   : String; 
     TextoOrig, TextoDest, GuardaTexto, arqRepl:TextFile;
     subStr  : String;
     linha   : String;
     sLimite : String;
     iLimite : Integer;
     fLimite : Double;

{ Declaração das Funções e Procedures }
function DataExtenso(Data:TDateTime): string;
function ExisteForm(pForm: Tform): Boolean;
procedure CriaForm(ClasseDoForm: TFormClass);
function CopiaLinha(Caminho, Arquivo: String; Linha: Integer): String;

implementation

{ Código das Funções e Procedures }


function CopiaLinha(Caminho, Arquivo: String; Linha: Integer): String;
var
  LinhaCop: TStringList;
begin
    if not FileExists(Caminho+Arquivo) then
           CopyFile(PChar(´C:\BACKUP\´+Arquivo),Pchar(Caminho+Arquivo), True);

    LinhaCop  :=  TStringList.Create;

    LinhaCop.LoadFromFile(Caminho+Arquivo);
    Result  :=  LinhaCop[Linha];

end; // CopiaLinha

procedure CriaForm(ClasseDoForm: TFormClass);
var
Form: TForm;
begin
Form := ClasseDoForm.Create(Application.MainForm);
Form.ShowModal;
end; // AbreForm
{******************************************************************************}

function ExisteForm(pForm: Tform): Boolean;
var i     : integer;
begin
      ExisteForm := False;
      for i := 0 to Screen.FormCount - 1 do
          if Screen.Forms[i] = pForm then
          begin
            ExisteForm := True;
            Break;
          end
end; // ExisteForm

function DataExtenso(Data:TDateTime): String;
{(*
    Como Usar:
    Label1.Caption  :=  DataExtenso(Now);
*)}

{Retorna uma data por extenso}
var
  NoDia : Integer;
  DiaDaSemana : array [1..7] of String;
  Meses : array [1..12] of String;
  Dia, Mes, Ano : Word;
begin
{ Dias da Semana }
  DiaDasemana [1]:= ´Domingo´;
  DiaDasemana [2]:= ´Segunda-feira´;
  DiaDasemana [3]:= ´Terçafeira´;
  DiaDasemana [4]:= ´Quarta-feira´;
  DiaDasemana [5]:= ´Quinta-feira´;
  DiaDasemana [6]:= ´Sexta-feira´;
  DiaDasemana [7]:= ´Sábado´;
{ Meses do ano }
  Meses [1] := ´Janeiro´;
  Meses [2] := ´Fevereiro´;
  Meses [3] := ´Março´;
  Meses [4] := ´Abril´;
  Meses [5] := ´Maio´;
  Meses [6] := ´Junho´;
  Meses [7] := ´Julho´;
  Meses [8] := ´Agosto´;
  Meses [9] := ´Setembro´;
  Meses [10]:= ´Outubro´;
  Meses [11]:= ´Novembro´;
  Meses [12]:= ´Dezembro´;
  DecodeDate (Data, Ano, Mes, Dia);
  NoDia := DayOfWeek (Data);
  Result := DiaDaSemana[NoDia] + ´, ´ +
  IntToStr(Dia) + ´ de ´ + Meses[Mes]+ ´ de ´ + IntToStr(Ano);
end; // DataExtenso
end.


Salve essa Unit do Diretorio Delphi\Lib
Para usar as variaveis, funções e etc, basta declarar a ua ´SuaBiblioteca´ no Uses fo form.


GOSTEI 0
Nildo

Nildo

12/10/2005

Na verdade não existe o porque de armazenar variáveis em DLL, você com certeza nunca usará esse recurso. Não é viável e muito menos recomendável. Existe como? Existe! mas é muito trabalhoso.


GOSTEI 0
Framosip

Framosip

12/10/2005

bom...

pelo q entendi não é tão facil criar uma DLL e chama-la no sistema né...

então blz.....vou usar outra forma para isso

obrigadoa a todos!!


GOSTEI 0
Nildo

Nildo

12/10/2005

bom... pelo q entendi não é tão facil criar uma DLL e chama-la no sistema né... então blz.....vou usar outra forma para isso obrigadoa a todos!!


É facil, porém, uma DLL não é para este fim. O motivo da existência de uma DLL é separar o sistema em módulos, ou compartilhar funções para que possam ser usadas em programas desenvolvidos por outras linguagens, e afins


GOSTEI 0
Fabiano Góes

Fabiano Góes

12/10/2005

concordo plenamente com o amigo nildo,
Bom amigo George Benson, para esse fim o correto seria criar a sua biblioteca de variaveis e funções.


GOSTEI 0
POSTAR