Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Windows (https://www.clubdelphi.com/foros/forumdisplay.php?f=26)
-   -   Cargar una dll en mi aplicación (https://www.clubdelphi.com/foros/showthread.php?t=32889)

Boris 20-06-2006 14:56:39

Cargar una dll en mi aplicación
 
Perdón, alguien me podría enseñar como puedo cargar una dll sin tener que introducirla en el directorio del sistema.

dec 20-06-2006 15:17:23

Hola,

Por ejemplo...

Código Delphi [-]
library libreria;

uses
  Dialogs;

{$R *.res}

function HelpMe() : boolean; stdcall;
begin
  ShowMessage('¡Espera que voy!');
  Result := true;
end;

exports HelpMe;

end.

Código Delphi [-]
unit UfrmPrincipal;

interface

uses
  Forms, Classes,
  Controls, StdCtrls;

type
  TfrmPrincipal = class(TForm)
    btnHelpMe: TButton;
    procedure btnHelpMeClick(Sender: TObject);
  end;

var
  frmPrincipal: TfrmPrincipal;

function HelpMe : boolean; external 'libreria.dll';

implementation

{$R *.dfm}

procedure TfrmPrincipal.btnHelpMeClick(Sender: TObject);
begin
  HelpMe;
end;

end.

Y, bueno, generalizando... cargar una DLL... con la función "LoadLibrary", por ejemplo, puedes escoger la ruta de la librería a cargar...

seoane 20-06-2006 15:40:37

Solo añadir a la explicacion de dec que si no especificas la ruta completa, se buscara en lo siguientes directorios y por ese orden:

1. El directorio desde el que se cargo la aplicacion
2. El directorio actual
3. El directorio System
4. El directorio Windows
6. Los directorios del Path

Lo mas sencillo es dejarla en el mismo directorio que tu aplicacion y no especificar la ruta completa. Sera el primer sitio donde buscara.

Boris 21-06-2006 22:32:22

Gracias por responder
 
Gracias por responder, es una excelente solución, alguien me sugirió incrustarla en la aplicación y con eso se pudo arreglar.

Por otro lado también me he atascado buscando la forma de ¿Como saber cuando una memoria usb es conectada o desconectada de la máquina?. Si algúno podría sujerirme algúna forma de hacerlo, quiero hacer un servicio que me diga cuándo se conecta y se desconecta una memoria USB.

Gracias.

seoane 22-06-2006 00:34:57

Para detectar cuando se conecta o desconecta una memoria usb quiza te pueda servir este hilo con un titulo tan sugerente ;)

Ejecutar un programa al conectar un USB

o este otro

Detección de una unidad removible

Aunque te serviria cualquier otro sistema que detectatara la insercion de un CD, es lo mismo con pequeños cambios. En el hilo anterior se habla en concreto del componenete de roman TCdChange que puedes encontrar aqui. Que esta basado en un ejmplo de microsoft que puedes encontrar aqui.

Por otro lado si lo que quieres es una lista de las memorias USB puedes usar el Truco 51 que lista los numeros de serie de todas las memorias USB conectadas. Aunque no te dice su letra, si quieres una lista con las letras de cada memoria usb, puedes usar esto otro:

Código Delphi [-]
var
  Letra: Char;
begin
  for Letra:= 'A' to 'Z' do
    if GetDriveType(Pchar(Letra+':\')) = DRIVE_REMOVABLE  then
    begin
      // Aqui usamos la letra para lo que queramos
      ShowMessage('Esto es un USB '+Letra+':\');
    end;
end;

Espero que con esto tengas paar empezar ....


La franja horaria es GMT +2. Ahora son las 02:19:54.

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