![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Si yo por el error que dices yo creo que uhilari tiene razon.
Por ejemplo ESTATICA //declaracion procedure DllMessage(s:string); external 'dll.dll' //La llamas procedure TForm1.Button1Click(Sender: TObject); begin DllMessage('hola'); end; ---------------------------------------------------- DINAMICA //declaracion type GetFunc = procedure( Param: string ); register; var GF : GetFunc; H : Thandle; //La llamas procedure TForm1.Button1Click(Sender: TObject); begin h := LoadLibrary( 'dll.dll' ); If H <> NULL then begin @GF := GetProcAddress( h, 'DllMessage' ); GF('hola'); FreeLibrary( h ); end; end; Saludos
__________________
La victoria tiene cien padres. La derrota es huérfana (Napoleón). |
|
#2
|
|||
|
|||
|
Muchas gracias a todos los que me respondieron.
Tenías razón uhilari el problema se debía a que la carga de la dll era estática. Me sirvió bastante tu código Descendents con ese código solucioné el problema. Muchas gracias. ![]() |
|
#3
|
|||
|
|||
|
Hola de nuevo
Vaya Descendens me gano la publicación del codigo; pero para ser sinceros no me gusta la forma como lo hizo, me refiero a la utlización de las Variables globales GF y h yo prefiero variables locales o en todo caso un atributo de la clase TForm1; pero como dije antes el codigo funciona aunque les aconsejo en la medida de las posibilidades no usar las variables globales siempre traen problemas. Suerte a Todos |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|