FTP | CCD | Buscar | Trucos | Trabajo | Foros |
#1
|
|||
|
|||
ActiveX
Hola:
Antes que nada un gran saludo a todos, soy nuevo en el foro y comienzo a migrar de xBase (Harbour) a Delphi. Tengo el siguiente problema: agregué un activex a mi aplicacion y algunos métodos los puedo acceder correctamente, pero en otros, que reciben parámetros por referencia no me devuelve los valores modificados de las variables que meto. Alguna idea? espero haber sido claro. Fernando Castro México, D.F. Trabajo con D2005 |
#2
|
|||
|
|||
Pero la has asignado a alguna variable Global??
Si nos pones un ejemplo del Procedimiento entenderemos mejor.. |
#3
|
|||
|
|||
Hola, agradezco mucho tu respuesta
Te adjunto un poco de código y trato de explicar. Agradezco infinitamente la ayuda del foro y cualquier tip. Fernando Castro México, D.F. procedure TFrmPrincipal.SpeedButton1Click(Sender: TObject); VAR nTotalReg : INTEGER; nCiclo : INTEGER; nID : INTEGER; nIDTrab : INTEGER; nVal1 : INTEGER; nVal2 : INTEGER; dFecha : TDateTime; cTipo : STRING; lRetorno : Boolean; iBFLEX : TBFlex; // esta es la variable ActiveX begin iBFlex := TBFlex.Create(SpeedButton1); lRetorno := iBFlex.OpenCom('COM1',19200); IF not lRetorno then begin; MessageDlg( 'No se ha podido conectar con la lectora' , mtWarning, [mbOK], 0); iBFlex.Destroy; exit; end; iBFlex.Test(1); // cuando llamo a este procedimiento sucede algo raro, depuès de compilar // y obtener datos correctos, el programa dejó de regresarme los // datos que debería regresarme, es decir, la variable nTotalReg regresó // algunas veces con el valor de 10 y ahora simplemente regresa con cero, // cuando debería tener 14 nTotalReg := iBFlex.ReadAllGLogData(1, &nID); IF nTotalReg = 0 THEN Begin MessageDlg( 'La lectora seleccionada no tiene registros grabados' , mtWarning, [mbOK], 0); iBFlex.CloseCom(); exit; end; MessageDlg(IntToStr(nTotalReg) , mtWarning, [mbOK], 0); FOR nCiclo := 1 TO nTotalreg DO BEGIN // igual aqui, dFecha y nVal1 no cambian, y son valores que pasan por // referencia lRetorno := iBFlex.GetGeneralLogData(1,nCiclo, &nIDTrab, &dFecha, &nVal1, &nVal2); IF nVal1 = 1 THEN cTipo := 'Entrada' else cTipo := 'Salida'; MessageDlg('ID: ' + IntToStr(nID) + ';Fecha: ' + DateTimeToStr(dFecha) + ';Tipo: ' + cTipo , mtWarning, [mbOK], 0); END; |
#4
|
|||
|
|||
Hola de nuevo:
Alguien que me pueda orientar respecto al problema que tengo? Agradezco mucho Fer |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Control ActiveX | adebonis | Varios | 0 | 05-04-2005 21:32:28 |
Control ActiveX | adebonis | Varios | 0 | 21-03-2005 18:23:09 |
Controles ActiveX | senpiterno | Varios | 12 | 27-09-2004 21:14:47 |
ActiveX | s2f | C++ Builder | 2 | 08-09-2004 21:54:40 |
|