Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-06-2004
cesar_picazo cesar_picazo is offline
Miembro
 
Registrado: ene 2004
Posts: 65
Poder: 21
cesar_picazo Va por buen camino
saber Funciones de una DLL

Estoy utilizando delphi 6 y estoy agregando dlls

Hola buenas tardes, estoy intentando usar una dll de un cliente, pero no tienen la documentaciòn de las funciones que componen dicha dll, existe alguna forma de obtener los nombres de las funciones y sus parametros.

Sin màs por el momento me despido
Responder Con Cita
  #2  
Antiguo 18-06-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Los nombres de las funciones de exportación, si!.. puedes buscar una herramienta llamada "Dependency Walker". Pero no hay forma de conocer los parámetros de las mismas.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #3  
Antiguo 18-06-2004
Avatar de __marcsc
__marcsc __marcsc is offline
Miembro
 
Registrado: may 2003
Ubicación: Girona
Posts: 577
Poder: 22
__marcsc Va por buen camino
Si te interesa tengo este código para obtener la lista de funciones de una DLL.

Código Delphi [-]
procedure ListDLLFunctions(DLLName: String; List: TStrings);
var
  Image: TLoadedImage;
  PExpDir: PImageExportDirectory;
  PExportedNames: Pointer; //pointer to list of exported functions
  Ptr: PImageSectionHeader;
  i: Integer;
  ExportedFunctionName: PChar;
begin
  List.Clear;
  //load the file into memory.
 if FileExists(DLLName) then
 begin
   try
      MapAndLoad(PChar(DLLName),PChar('#0'),@Image,True,True);
      pExpDir:= PImageExportDirectory(Image.FileHeader.OptionalHeader.DataDirectory
       [IMAGE_DIRECTORY_ENTRY_EXPORT].VirtualAddress);
      pExpDir:= PImageExportDirectory(ImageRvaToVa(Image.FileHeader,
       Image.MappedAddress,DWORD(pExpDir),Ptr));
      PExportedNames:= pExpDir.AddressOfNames;
      PExportedNames:= ImageRvaToVa(Image.FileHeader,Image.MappedAddress,DWORD(PExportedNames),Ptr);
      for i:= 0 to pExpDir.NumberOfFunctions - 1 do
      begin
        ExportedFunctionName:= PChar(ImageRvaToVa(Image.FileHeader,
         Image.MappedAddress,DWORD(PExportedNames^),Ptr));
        List.Add(ExportedFunctionName);
        inc(PInteger(PExportedNames));
      end;
  finally         
     UnMapAndLoad(@Image); //Unload the mapped file from memory.
  end;
 end;
end;

Si no te interesa hacerlo por código, puedes utilizar, en el intérprete de comandos:

Código:
tdump -ee Midll.dll
No hay forma de conocer los parámetros, para eso necesitarás la documentación. Sorry.

Saludos!
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 14:23:19.


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