SOU INICIANTE POR FAVOR ME AJUDEM

FERPAVANIN 23/08/2007 14:19:02
#232282
preciso de um exeplo de uma dll que receba uma string e mostre na tela

para que aplicativos tanto do vb como de outras linguagem consigam acessar

com o vb a chamada seria atraves do

public declare function Mostra_String lib "MinhaDll.Dll" (by val MinhaStrinha as string)


SILVERDRAGON 23/08/2007 14:33:41
#232291
Acho q nao da nao em....PQ...


Para chamar em Delphi uma DLL feita em C++...

Levando em consideração que você sabe como 'exportar' funções do C++ nas DLLs, em Delphi você deveria fazer algo como:

unit MinhaDLL;

interface

uses
Windows;

const
NOMEDLL = 'minhadll.dll';

function MinhaRotina(P1, P2, P3: Integer): Integer; stdcall; // stdcall OU cdecl OU qq o método que vc usar

implementation

const
NOMEDLL = 'minhadll.dll';

[c]function MinhaRotina(P1, P2, P3: Integer): Integer; external NOMEDLL;

end.


Isso criará uma vinculação ESTÁTICA com a DLL 'minhadll.dll'.

Para criar uma vinculação dinâmica, faça o seguinte:

unit MinhaDLLDinamica;

interface

uses
Windows;

var
MinhaRotina: function(P1, P2, P3: Integer): Integer;

procedure CarregarDLL;
procedure LiberarDLL;

implementation

var
LibHandle: Cardinal;

procedure CarregarDLL;
begin
LibHandle:= LoadLIbrary(PChar('minhadll.dll'));
if (LibHandle<>0) then begin
MinhaRotina:= GetProcAddress(LibHandle, 'MinhaRotina');
end;
end;

procedure LiberarDLL;
begin
if (LibHandle<>0) then begin
FreeLibrary(LibHandle);
MinhaRotina:= nil;
end;
end;

finalization
LiberarDLL;
end.


Para carregar essa DLL, você deverá chamar o procedimento CarregarDLL.
_____________________________________________________________________________________

Em Java Vc faz isso aqui:

http://java.sun.com/docs/books/tutorial/information/download.html
_____________________________________________________________________________________

Conclusao

O chamado de DLL em cada linguaguem é dirente, portanto vc teria q ter um programa feito em cada linguagem para chamar essa Dll...



flw
FERPAVANIN 23/08/2007 14:47:42
#232300
cara obrigado mas eu preciso fazer ela em vb6

USUARIO.EXCLUIDOS 23/08/2007 14:55:19
#232305
Qual linguagem ???
Att,
Marcelo Bressan
SILVERDRAGON 23/08/2007 14:57:43
#232307
Nao consigo ver uma solucao para Vb6, o que pode fazer e Tentar..eu disse Tentar fazer uma Dll que aceite parametros d outra linguagem(algo q no vc acho meio dificil)....

T+
Tópico encerrado , respostas não são mais permitidas