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 14-10-2006
elpinjum elpinjum is offline
No confirmado
 
Registrado: jun 2003
Ubicación: Alicante
Posts: 23
Poder: 0
elpinjum Va por buen camino
dll de Visual Basic en Delphi

Estoy intentado usar una dll generada desde Visual Basic para usarla en Delphi, y no hay manera.

En la dll que genero en Visual Basic lo único que tengo es lo siguiente:
Public sub Hola()
MsgBox("Hola")
End Sub

Una vez generada la dll, la intento utilizar desde un programa generado con visual Basic, y consigo hacerlo sin problemas.

Cuando intento importarla desde delphi, no consigo que me funcione.

Lo hago con el siguiente codigo

Código Delphi [-]
unit Unit9;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm9 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

  TProc = procedure;

var
  Form9: TForm9;

implementation

{$R *.dfm}

procedure TForm9.Button1Click(Sender: TObject);
var
  Handle: THandle;
  Proc:TProc;
begin
  Handle := LoadLibrary('Project10.dll');
  if Handle <> 0 then
  begin
    @Proc := GetProcAddress(Handle, 'Hola');
    if @Proc <> nil then
      Proc;
    FreeLibrary(Handle);
  end;
end;

end.

Delphi consigue cargar la libreria, pero cuando intento cargar el procedimiento por el nombre delphi no lo encuentra, por lo que no me queda mas remedio que cargarlo por el numero de indice con el siguiente código @Proc := GetProcAddress(Handle, PChar(1));.

Una vez que he conseguido cargar el procedimiento, lo ejecuto, pero no hace absolutamente nada, ¿alquien puede ayudarme?

¿Acaso no es compatible una dll de visual basic con delphi?.
Responder Con Cita
  #2  
Antiguo 15-10-2006
avmm2004 avmm2004 is offline
Miembro
 
Registrado: jun 2006
Ubicación: Santa cruz de Tenerife, Islas Canarias
Posts: 500
Poder: 18
avmm2004 Va por buen camino
No se si has tenido en cuenta, a la hora de declarar la funcion en delphi, la utilizacion de la directiva stdcall ¿?.
Responder Con Cita
  #3  
Antiguo 15-10-2006
Avatar de ppb
[ppb] ppb is offline
Miembro Premium
 
Registrado: jun 2005
Ubicación: España
Posts: 109
Poder: 19
ppb Va por buen camino
Haz una busqueda , hay muchos hilos que hablan de esto.
__________________
Because , I have a power.
Responder Con Cita
  #4  
Antiguo 16-10-2006
elpinjum elpinjum is offline
No confirmado
 
Registrado: jun 2003
Ubicación: Alicante
Posts: 23
Poder: 0
elpinjum Va por buen camino
En todas las pruebas que he hecho he probado con las convenciones de llamadas stdcall y cdecl, pero el problema sigue sin resolverse, de todos modos la última prueba que he hecho es un procedimiento que no pasa parametros, y tengo entendido que el stdcall es para que los parametros se pasan con el convenio de c++.

También he probado a mirar todos los hilos que hay de dlls pero en ninguno he encontrado la solución.

Agradecería que alguien que tenga VB6 y delphi hiciera la prueba que estoy intentando hacer yo:

1º Crear en DLL en VB6 con un procedimiento que haga cualquier chorrada, como por ejemplo MsgBox ("Hola")
2º Comporbar que esta DLL funcione desde un ejecutable creado en VB6
3º Intentar usar esta DLL desde Delphi.

Yo no consigo hacerlo, me falta alguna cosa, he seguido los pasos de los ejemplos que he encontrado por internet en el uso de DLLs.

¿Quizas alguna directiva de delphi o alguna opción?, ¿alguien ha tenido el mismo problema?

Un Saludo.
Responder Con Cita
  #5  
Antiguo 16-10-2006
Avatar de ppb
[ppb] ppb is offline
Miembro Premium
 
Registrado: jun 2005
Ubicación: España
Posts: 109
Poder: 19
ppb Va por buen camino
Mira este hilo http://www.clubdelphi.com/foros/showthread.php?t=26979
__________________
Because , I have a power.
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
Delphi VS Visual Basic woody Debates 137 18-03-2008 14:54:00
Ayuda con visual basic y delphi perrotekel Varios 11 12-09-2006 21:25:05
Delphi V/s Visual Basic lavtaro Varios 13 02-05-2006 14:30:47
Será Visual Basic un clon de Delphi KORN Debates 9 22-09-2004 09:30:40
Otra de Visual Basic a Delphi. torito Varios 2 03-06-2004 22:11:35


La franja horaria es GMT +2. Ahora son las 18:13:59.


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