Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sdavis

Alterar codigo de chamada de dll em VB para delphi

Recommended Posts

Olá a todos,

 

Não estou conseguindo reproduzir a chamada de uma funcao ( dll) em vb para delphi.

 

'Declaracao da funcao

Declare Function hllapi& Lib "pcshll32.dll" (func&, ByVal DataString$, Length&, RetC&)

 

'Definicao das variaveis

Global dummy As Long

Global HllFunctionNo As Long

Global HllData As String * 8000

Global HllLength As Long

Global HllReturnCode As Long

 

'Atribuicao de valoreas as variaveis

HllFunctionNo = 5

HllData = ""

HllLength = 0

HllReturnCode = 0

 

'Chamando funcado

dummy& = hllapi&(HllFunctionNo, HllData, HllLength, HllReturnCode)

 

 

Grato por qualquer ajuda.

Davis

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como você esta carregando e chamando as funções da dll no Delphi?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Segue abaixo o que estou fazendo:

 

unit Unit1;

 

interface

 

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

 

type

TForm1 = class(TForm)

Button1: TButton;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

 

Thllapi = function(var i:integer; var par1:string; var par2:integer;var par3: integer):integer; stdcall;

 

 

var

Form1: TForm1;

 

implementation

 

{$R *.dfm}

 

procedure TForm1.Button1Click(Sender: TObject);

var

k: integer;

Handle: THandle;

 

myfunc : Thllapi;

par1,par3,par4:integer;

par2:string;

begin

 

par1:=1;

par2:='A';

par3:=0;

par4:=0;

 

Handle := LoadLibrary('pcshll32.dll');

 

 

if Handle <> 0 then

begin

@myfunc := GetProcAddress(Handle, 'hllapi');

 

if @myfunc <> nil then

begin

k := myfunc(par1,par2,par3,par4);

end;

 

FreeLibrary(Handle);

end;

 

 

end;

 

end.

Como você esta carregando e chamando as funções da dll no Delphi?

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.