Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-02-2008
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 21
enecumene Va por buen camino
Duda haciendo Librerías DLL

Holas compañeros, estoy aprendiendo a crear y usar librerias DLL, tengo este código:

Código Delphi [-]
library Project1;

uses
  SysUtils,
  Graphics,
  Classes;

{$R *.res}

procedure Hola; stdcall; export;
begin
        ShowMessage('Holaaaaaaaa');
end;

procedure Fondo; stdcall; export;
var color: TColor;
begin
  color := clWhite;
end;


exports
    Hola,
    Fondo;

begin
end.


el pedazo de codigo que esta en negrita, no se si es correcto, al compilar no me da problemas, asi es como lo estoy llamando:

Código Delphi [-]
procedure Hola; external 'EjemploDLL.dll';  
procedure Fondo; external 'EjemploDLL.dll'; 

procedure TForm1.Button1Click(Sender: TObject);
begin         
   Hola; 
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Form1.Color := Fondo;
end;

cuando intento correr la aplicacion, me da este error:

Cita:
Interface not supported
me imagino que el problema viene del procedimiento Fondo de la Librería. cual es la manera correcta de hacerlo?

saludos
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #2  
Antiguo 14-02-2008
Avatar de ixMike
ixMike ixMike is offline
Miembro
 
Registrado: feb 2004
Posts: 1.151
Poder: 22
ixMike Va por buen camino
Es porque está mal declarada en la DLL. Debería ser una función:

Código Delphi [-]
function Fondo: TColor; stdcall; export;
begin
  Result := clWhite;
end;


Y en tu programa:

Código Delphi [-]
procedure Hola; external 'EjemploDLL.dll' name 'Hola';
Function Fondo: TColor; external 'EjemploDLL.dll' name 'Fondo';



Salu2.


P.D.: ¡Ahí va! ¡Respondiendo a la duda de un milenario! ayudaaaa... esto es el mundo al revés
Responder Con Cita
  #3  
Antiguo 14-02-2008
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 21
enecumene Va por buen camino
Gracias IxMike, ya lo tengo claro.

Saludos.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Que estoy haciendo mal ? piolillo Internet 8 28-07-2011 17:23:24
Que estoy haciendo Mal esimon SQL 4 04-07-2006 21:55:25
Haciendo un Sweep AMINOA2R Firebird e Interbase 5 07-07-2005 15:00:36
Que estoy Haciendo mal jostrix PHP 1 01-11-2004 01:29:16
...haciendo negocios... Jure Humor 0 11-10-2004 23:38:24


La franja horaria es GMT +2. Ahora son las 12:57:40.


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