Fórum usar dll em delphi feita em c builder #323955
21/06/2006
0
Caros colegas
Tenho uma ddl feita em c++ builder chamada teste.dll com a seguinte codificação :
#include <vcl.h>
pragma hdrstop
include ´Unit1.h´
include ´testeDll.h´
pragma package(smart_init)
pragma resource ´*.dfm´
TServidor *Servidor;
/********************** Variaveis Globais **********************************/
HINSTANCE teste;//ponteiro para a dll
SET_TRATA_ERROS settrataerros=NULL;//é chamado quando o servidor quer informar algum erro
/********************************************************/
VOID __stdcall TrataErros(DWORD ERRO, DWORD ID_ISEP);//trata erros
__fastcall TServidor::TServidor(TComponent* Owner)
: TForm(Owner)
{
testeweb=LoadLibrary(´teste.dll´);//carrega a DLL
settrataerros=(SET_TRATA_ERROS)GetProcAddress(testeweb,´setTrataErros´);//carrega setTrataErros
if(settrataerros==NULL){
MostrarErro();
exit(1);
result=(settrataerros)(TrataErros);//ajusta que rotina tratará erros
if(result)exit(1);
}
VOID __stdcall TrataErros(DWORD ERRO, DWORD ID_ISEP){
switch(ERRO){//cada erro significa alguma coisa
case 0:
break;
case 1:
break;
case 2:
break;
case 3:
break;
default:
break;
}
}
/********************************************************/
Preciso usar ela no delphi como faço ?
Tenho uma ddl feita em c++ builder chamada teste.dll com a seguinte codificação :
#include <vcl.h>
pragma hdrstop
include ´Unit1.h´
include ´testeDll.h´
pragma package(smart_init)
pragma resource ´*.dfm´
TServidor *Servidor;
/********************** Variaveis Globais **********************************/
HINSTANCE teste;//ponteiro para a dll
SET_TRATA_ERROS settrataerros=NULL;//é chamado quando o servidor quer informar algum erro
/********************************************************/
VOID __stdcall TrataErros(DWORD ERRO, DWORD ID_ISEP);//trata erros
__fastcall TServidor::TServidor(TComponent* Owner)
: TForm(Owner)
{
testeweb=LoadLibrary(´teste.dll´);//carrega a DLL
settrataerros=(SET_TRATA_ERROS)GetProcAddress(testeweb,´setTrataErros´);//carrega setTrataErros
if(settrataerros==NULL){
MostrarErro();
exit(1);
result=(settrataerros)(TrataErros);//ajusta que rotina tratará erros
if(result)exit(1);
}
VOID __stdcall TrataErros(DWORD ERRO, DWORD ID_ISEP){
switch(ERRO){//cada erro significa alguma coisa
case 0:
break;
case 1:
break;
case 2:
break;
case 3:
break;
default:
break;
}
}
/********************************************************/
Preciso usar ela no delphi como faço ?
George_piaulino
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)