Como leer el valor de una propiedad en una DLL ?
Hola foro, tengo una DLL de la que llamo a una de sus funciones (metodos), le paso parametros y la ejecuto, despues necesito saber si no hubo error a travez de una propiedad, mi duda es como hago para leer el valor de esa propiedad ?, ya que delphi me sigue pidiendo parametros en:
if mPaso1.NoError tengo el siguiente codigo: implementation {$R *.DFM} function mPaso1(valor1, valor2, valor3, valor4 :String):String; stdcall;external 'MiDll.dll'; procedure TForm1.btnGeneraClick(Sender: TObject); begin mPaso1('4','200','20','852240'); if mPaso1.NoError = '0' then //si no existe error Label2.Caption := mPaso1.Autorizacion; else showmessage('Error: '+ mPaso1.NoError + mPaso1.DescError); end; de antemano gracias....:confused: |
Con las DLL no podes tener acceso a las propiedades salvo que las misma esten definidas y exportadas por la DLL.
Es decir que si queres que acceder an NoError deberia existir en la DLL una funcion que haga:
y para llamarlo desde tu codigo delphi deberias hacer:
donde las DLLNoError, DLLDescError, etc son funciones exportadas por la Dll. |
Gracias Brandolin por tu respuesta, el siguiente es un ejemplo de como se llama a la funcion y como se lee el valor de la propiedad LNoError, esta escrito en Visual Basic. Yo necesito hacer lo mismo pero en Delphi 5.
Option Explicit Public vg_Obj As Object Private Sub Form_Load() Set vg_Obj = CreateObject("MiDll.clsGeneral") End Sub Private Sub cmdGenera_Click() On Error GoTo MsgError vg_Obj.LimpiaPropiedades vg_Obj.Tienda = Me.TextTienda.Text vg_Obj.Importe = Me.TextImporte.Text vg_Obj.Dia = Me.TextDia.Text vg_Obj.Ticket = Me.TextTicket.Text vg_Obj.mPaso1 if vg_Obj.LNoError = “0” then msgbox “Autorización = ” & vg_Obj.Autorizacion …CONTINUA PROCESO… else msgbox "NoError = " & vg_Obj.LNoError & vbCrLf & _ "DescError = " & vg_Obj.pDescError end if Exit Sub MsgError: MsgBox Err.Number & " " & Err.Description, vbCritical End Sub saludos, gracias. :) |
La franja horaria es GMT +2. Ahora son las 11:03: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