Ver Mensaje Individual
  #3  
Antiguo 20-02-2021
tiqui_loquito tiqui_loquito is offline
Miembro
 
Registrado: oct 2013
Posts: 56
Reputación: 11
tiqui_loquito Va por buen camino
Hola, gracias por responder.

Te cuento que tengo que hacer la bpl en Delphi Tokyo 10.2 por que hay componentes que no tengo en Delphi7.

Hice una bpl en Delphi10.4 y la pude integrar con Delphi7, luego me toco desinstalarlo e instalar Delphi Tokyo y solo copie las bpl 250 al syswow64 y pude seguir usando la bpl con el aplicativo de Delphi7.

Por eso necesito poder integrar el llamado de la bpl desde delphi7.

este es el código cone l que llamo la bpl

Código Delphi [-]
unit U_EjecutarServicioFarmacia;

interface

uses Forms, Classes, Windows, SysUtils, Dialogs;

Type
  TU_EjecutarServicioFarmacia = class
  public
   class function ConsultarExistencias(pCodFarmaco:String):String;
  end;

implementation

//class function TU_ServicioCliente.ServicioPrueba(pCadena: String): string;
class function TU_EjecutarServicioFarmacia.ConsultarExistencias(pCodFarmaco:String): string;
var vEjecutar: function (pCodFarmaco:String): string;register;
 vRuta: String;
 pPaquete:Cardinal;
begin
    vRuta := ExtractFileDir(Application.ExeName)+'\Lib\';

    (* '-' '-' '-' '-' '-' '-' '-' '-' '-' '-' '-' '-' '-' '-' '-' '-' '-' '-'  *)
    (* '-' '-' '-' '-' '-' '-' '-' '-' '-' '-' '-' '-' '-' '-' '-' '-' '-' '-'  *)
    (* '-' '-' '-' '-' '-' '-' '-' '-' '-' '-' '-' '-' '-' '-' '-' '-' '-' '-'  *)
    (* validacion para que como desarrollador pueda saber si la definicion
       constante de la bpl es correcto:
       la excepcion se mostrara en compilación y no en ejecución*)

    try
      pPaquete := LoadPackage(vRuta+'ServicioFarmacia.bpl');
      if pPaquete <> 0 then
      begin
        @vEjecutar := GetProcAddress(pPaquete, 'ConsultarExistencias');
        Result := vEjecutar(pCodFarmaco);
      end;
    except
      on e:Exception
        do
        begin
          //ShowMessage(e.Message+': Servicios') ;
          Result:=('-1');
        end;
    end;

end;

end.
Responder Con Cita