ariana Postado Julho 17, 2006 Denunciar Share Postado Julho 17, 2006 OláAlguém poderia me ajudar,preciso fazer uma dll delphi utilizando uma variável pchar...De prerefencia que ela passe um valor e depois retorne, e um programa chamar essa dll....Alguém poderia me auxliar neste procedimento, por favor? Obrigada, Ariana =] Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 s3c Postado Julho 17, 2006 Denunciar Share Postado Julho 17, 2006 Olá ariana, você pode fazer assim:dlllibrary Minha_dll; uses ShareMem, // <== coloque na primeira linha do uses SysUtils, Classes; {$R *.res} function Funcao_na_dll(Entrada:PChar):PChar; var s:String; begin s := 'A Funcao_na_dll recebeu: ' + Entrada; Result := AllocMem(Length(s)+1); Move(s[1], Result^, Length(s)); end; exports Funcao_na_dll; begin end. Aplicação .dprprogram Teste_dll; uses ShareMem, // <== coloque na primeira linha do uses Forms, uTeste_dll in 'uTeste_dll.pas' {Form1}; {$R *.res} begin Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run; end. Aplicação .pasunit uTeste_dll; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Edit1: TEdit; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); type TFuncao_na_dll = function (Entrada:PChar):PChar; var HLib:DWord; Funcao_na_dll:TFuncao_na_dll; Result_na_dll:PChar; begin HLib := LoadLibrary(PChar('Caminho_da_dll\Minha_dll.dll')); if Hlib = 0 then Exit; Funcao_na_dll := GetProcAddress(HLib, 'Funcao_na_dll'); if @Funcao_na_dll <> nil then begin Result_na_dll := Funcao_na_dll(PChar(Edit1.Text)); ShowMessage(Result_na_dll); FreeMem(Result_na_dll); end; FreeLibrary(HLib); end; end. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
ariana
Olá
Alguém poderia me ajudar,
preciso fazer uma dll delphi utilizando uma variável pchar...De prerefencia que ela passe um valor e depois retorne, e um programa chamar essa dll....
Alguém poderia me auxliar neste procedimento, por favor?
Obrigada,
Ariana =]
Link para o comentário
Compartilhar em outros sites
1 resposta 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.