Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-11-2021
CrazySoft CrazySoft is offline
Miembro
 
Registrado: abr 2005
Posts: 100
Poder: 22
CrazySoft Va por buen camino
Gracias por responder

La librería no es mía me dieron para poder usarla

Las funciones están definidas para exportación tengo un código en vb que las usa


No se como están definidas las funciones solo tengo el ejemplo de uso

No entiendo mucho de vb

Pero lo que necesito es poder usar esa librería
Responder Con Cita
  #2  
Antiguo 05-11-2021
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.507
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Habría que saber la firma de las DLL's que está exportando la librería de VisualBasic.
También el tipo de DLL (estoy pensando en un ActiveX). en ese caso hay que registrarla y desde Delphi puedes importar.

Es dar un poco palos de ciego, porque no estás concretando y faltan muchos datos, para algo que no es simple como esto.
También puedes probar:
Component/Import component/
Import Type Library
Import ActiveX control

También puedes revisar estos hilos que hablan sobre cómo llamar a DLLs en otros lenguajes (VB) entre ellos:
http://clubdelphi.com/foros/showthread.php?t=10532
https://www.clubdelphi.com/foros/sho...d.php?p=533852
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 05-11-2021
CrazySoft CrazySoft is offline
Miembro
 
Registrado: abr 2005
Posts: 100
Poder: 22
CrazySoft Va por buen camino
No es un Activex, ya intente registrarla e importarla, no me permite registrar


creo que es una clase que esta incluida en la DLL, con funciones y variables, no son simples funciones las que tiene la DLL



no se como hacer la definicion para exportar la clase de la DLL, definir el tipo en Delphi para poderla crear y usar


o estoy equivocado
Responder Con Cita
  #4  
Antiguo 05-11-2021
CrazySoft CrazySoft is offline
Miembro
 
Registrado: abr 2005
Posts: 100
Poder: 22
CrazySoft Va por buen camino
Esto es lo que entieno, pero no se como definir la clase que esta en la "LibraryPOS.dll" para poderla usar

Código:
// Crear una instancia de la clase _POSLibrary
Dim _pos As New _POSLibrary._LibraryPOS  <- crea una clase que esta en la DLL

// Crear una instancia de la clase SerialPort
Dim _portPOS As New IO.Ports.SerialPort   

// Conexión al puerto serial e inicio de conexión

Private Sub Button4_Click(sender As Object, e As EventArgs) Handles btnPagarChip.Click
  If (validarDatosTransac() And validarMonto()) Then
    _pagoChip = True
    Dim isConnected As Boolean = False

    If (Not _portPOS.IsOpen) Then
      ActivePorts = _pos._ListActivePorts_POS() ' -- dll --   <- lista los puertos mediante la clase
    For Each puerto As String In ActivePorts
     _NumPort = puerto
     Next
    isConnected = _pos._OpenPort_POS(_NumPort) ' -- dll --  <- abre el puerto con una funcion en la clase
    If (isConnected) Then
      _status = "0"
      _portPOS = _pos.PortUSB
      AddHandler _portPOS.DataReceived, AddressOf PortCOM_DataReceived  <- no entiendo que es lo que hace pero asigna el puerto 
    End If
  Else
    isConnected = True
  _status = "0"
  End If
  If (Not isConnected) Then
    MsgBox("No hay conexion al puerto COM.")
    Return
    End If
  ReqConnectionToPOS_Local()
  End If
End Sub
Responder Con Cita
  #5  
Antiguo 05-11-2021
CrazySoft CrazySoft is offline
Miembro
 
Registrado: abr 2005
Posts: 100
Poder: 22
CrazySoft Va por buen camino
lo que necesitaria hacer seria algo asi con la DLL que tengo
https://www.clubdelphi.com/foros/showthread.php?t=93148

gracias

Última edición por Neftali [Germán.Estévez] fecha: 05-11-2021 a las 15:39:12.
Responder Con Cita
  #6  
Antiguo 05-11-2021
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.507
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
El problema es que no hay forma de importar esa DLL desde Delphi. De todas las formas en que lo he probado me da error.

Habría que saber si esta gente tienen algo más para integrar.
Desde .NET si se puede importar la referencia.

Ver si tienen un SDK, un ActiveX o algo que no se refiera sólo a .NET.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.

Última edición por Neftali [Germán.Estévez] fecha: 05-11-2021 a las 15:12:58.
Responder Con Cita
  #7  
Antiguo 05-11-2021
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.507
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por CrazySoft Ver Mensaje
lo que necesitaria hacer seria algo asi con la DLL que tengo
https://www.clubdelphi.com/foros/showthread.php?t=93148

El problema es que eso está pensado para una DLL realizada en Delphi.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #8  
Antiguo 18-11-2021
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.966
Poder: 29
delphi.com.ar Va camino a la fama
Cita:
Empezado por CrazySoft Ver Mensaje
Esto es lo que entieno, pero no se como definir la clase que esta en la "LibraryPOS.dll" para poderla usar

Código:
// Crear una instancia de la clase _POSLibrary
Dim _pos As New _POSLibrary._LibraryPOS  <- crea una clase que esta en la DLL

La DDL está exportando una clase, no métodos/funciones, por lo tanto no es una DLL "plana", por el contrario es un objeto COM, y si no quieres reimplementar COM en Delphi, debes importarla como tal con las funciones específicas del IDE de Delphi para importar COM / ActiveX. (No dispongo de un Delphi instalado como para guiarte, pero hay mucha info en el foro como aquí)

¡Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #9  
Antiguo 20-11-2021
CrazySoft CrazySoft is offline
Miembro
 
Registrado: abr 2005
Posts: 100
Poder: 22
CrazySoft Va por buen camino
Gracias, pero no me permite registrar la DLL para luego importa


---------------------------
RegSvr32
---------------------------
Se cargó el módulo "C:\WINDOWS\system32\LibraryPOS.dll", pero no se encontró el punto de entrada DllRegisterServer.

Asegúrese de que "C:\WINDOWS\system32\LibraryPOS.dll" es un archivo DLL u OCX válido e inténtelo de nuevo.
---------------------------
Aceptar
---------------------------
Responder Con Cita
  #10  
Antiguo 20-11-2021
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.942
Poder: 28
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Aqui tienes es que ir con la gente que hizo esa DLL y que te den la info de como se integra.

O es un COM, o es una DLL "plana". En el caso segundo, necesitas los "headers" que se deben pasar como un archivo de C .h y una documentacion de como son las estructuras.
__________________
El malabarista.
Responder Con Cita
  #11  
Antiguo 23-11-2021
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.966
Poder: 29
delphi.com.ar Va camino a la fama
El tema es simple, si en VB se usan directamente clases de la librería, se trata de un objeto COM, si el código VB importa funciones y procedimientos, se trata de una "DLL Plana", y se debe importar al igual que en Delphi, haciendo la definición de cada función a utilizar, por ejemplo:

Código:
Declare Function FormatMessage Lib "kernel32" Alias "FormatMessageA" _
    (ByVal dwFlags As Long, lpSource As Any, ByVal dwMessageId As Long, _
     ByVal dwLanguageId As Long, ByVal lpBuffer As String, _
     ByVal nSize As Long, Arguments As Long) As Long
En ese ejemplo se está importando la función exportada como "FormatMessageA" de la librería "kernel32".

Cita:
Empezado por CrazySoft Ver Mensaje
---------------------------
RegSvr32
---------------------------
Se cargó el módulo "C:\WINDOWS\system32\LibraryPOS.dll", pero no se encontró el punto de entrada DllRegisterServer.

Asegúrese de que "C:\WINDOWS\system32\LibraryPOS.dll" es un archivo DLL u OCX válido e inténtelo de nuevo.
---------------------------
Aceptar
---------------------------
Quienes hemos tenido la desgracia de utilizar objetos COM, nos ha sucedido mas de una vez que los errores informados no son siempre del todo cierto, por ejemplo recuerdo intentar registrar librerías, que tenían dependencias no satisfechas, y el error siempre era el mismo. Una forma de saber si se trata de un objeto COM, que también sirve para descubrir dependencias insatisfechas, es explorar la librería con herramientas como Dependency Walker. Si la librería exporta las funciones DllCanUnloadNow, DllGetClassObject, DllRegisterServer y DllUnregisterServer, casi seguro se trata de una DLL COM. Si no es así, el proveedor de la librería te debe entregar la documentación de las funciones y procedimientos exportados, dado que las librerías "planas" no exportan ese tipo de información.

Si la librería fue desarrollada en VB, seguramente dependa del runtime de Visual Basic, y de MSCOMM32 para usar el puerto serie.

Ver:
http://www.clubdelphi.com/foros/showthread.php?t=94393


Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
Yo también intenté registrarla y da error.
Por lo tanto, tal y como comenta [mamcx], sólo queda hablar con quien la ha diseñado y ver qué están diseñando y cómo.
¿La DLL es pública?... ¿de dónde se puede descargar?
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.

Última edición por delphi.com.ar fecha: 23-11-2021 a las 23:33:42.
Responder Con Cita
  #12  
Antiguo 22-11-2021
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.507
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por delphi.com.ar Ver Mensaje
La DDL está exportando una clase, no métodos/funciones, por lo tanto no es una DLL "plana", por el contrario es un objeto COM, y si no quieres reimplementar COM en Delphi, debes importarla como tal con las funciones específicas del IDE de Delphi para importar COM / ActiveX. (No dispongo de un Delphi instalado como para guiarte, pero hay mucha info en el foro como aquí)

Yo también intenté registrarla y da error.
Por lo tanto, tal y como comenta [mamcx], sólo queda hablar con quien la ha diseñado y ver qué están diseñando y cómo.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Implementar Trigger o no? golf2008 MySQL 7 08-11-2008 00:24:09
ayuda para Implementar el sudoku gulder Varios 5 25-02-2008 18:37:24
Implementar GnuPG Henryoh Varios 2 17-01-2007 22:10:18
ayuda!!! como implementar sql en delphi diablorojo1886 SQL 3 04-12-2006 03:02:25
Implementar un CVS menavas Varios 1 03-10-2006 23:48:01


La franja horaria es GMT +2. Ahora son las 03:44:45.


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