Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-12-2005
Avatar de marceloalegre
[marceloalegre] marceloalegre is offline
Miembro Premium
 
Registrado: abr 2005
Ubicación: Mar del Plata - Argentina
Posts: 448
Poder: 22
marceloalegre Va por buen camino
Thumbs down

estuve mirando el tema, siempre cargue las dll estaticamente...

estuve mirando el comando loadlibrary y cambie la declaracion.. pero no me anda... alguien puede postear un ejemplo claro de carga dinamica? porque llamo la dll es un procedure y no me da ni la hora... o sea no funciona...
Responder Con Cita
  #2  
Antiguo 03-12-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.142
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Esto podría ser al menos una forma de llamar a una función situada en una librería realizando la carga de estas dinámicamente, como dicen que se dice. Es muy posible que no sea la única forma de hacerlo. Se trata, en este caso, de cargar la función "ShowCursor" que se encuentra en la librería "user32.dll".

Código Delphi [-]
procedure MostrarCursor(mostrar: boolean);
type
  TShowCursorProc = function(bShow: BOOL) : HResult; stdcall;
var
  HandleDll: THandle;
  FuncionDll: TShowCursorProc;
begin
  HandleDll := LoadLibrary('user32.dll');
  if (HandleDll <> 0) then // Se cargó la librería
  begin
    @FuncionDll := GetProcAddress(HandleDll, 'ShowCursor');
    if (@FuncionDll <> nil) then // Tenemos la función
    begin
      FuncionDll(mostrar); // Podemos utilizarla, pues
    end;
    FreeLibrary(HandleDll);
  end;
end;
Alguna vez he enlazado aquí a cierto artículo de Néstor Freire titulado "Cómo crear y utilizar las librerías en nuestros programas".

De todas formas Víctor, se me ocurre que hagas lo que te han sugerido, que me parece que podría funcionar, si es que no hay algún inconveniente en hacer algo como lo siguiente: que lo primero de todo en tu programa sea extraer la "DLL" que lleva incorporada y copiarla donde sea menester... ¿o es que se me escapa algo?
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 03-12-2005 a las 04:32:21. Razón: Corrección del código fuente.
Responder Con Cita
  #3  
Antiguo 01-03-2008
fide fide is offline
Miembro
 
Registrado: oct 2006
Posts: 331
Poder: 20
fide Va por buen camino
Lightbulb Increible

Cita:
Empezado por dec Ver Mensaje
Código Delphi [-]procedure MostrarCursor(mostrar: boolean);
type TShowCursorProc = function(bShow: BOOL) : HResult; stdcall;
var HandleDll: THandle; FuncionDll: TShowCursorProc; begin HandleDll := LoadLibrary('user32.dll');
if (HandleDll <> 0) then // Se cargó la librería
begin @FuncionDll := GetProcAddress(HandleDll, 'ShowCursor');
if (@FuncionDll <> nil) then // Tenemos la función
begin FuncionDll(mostrar); // Podemos utilizarla, pues
end;
FreeLibrary(HandleDll);
end;
end;
Ciertamente este codigo esta marabilloso. A mi me ha venido como cantaro a la fuente para hacer las cosas que necesito con dll. Jaaaa!

Última edición por fide fecha: 01-03-2008 a las 18:12:19.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 11:39:24.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi