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 18-09-2018
Avatar de Maniches
Maniches Maniches is offline
Miembro
 
Registrado: nov 2012
Ubicación: Lima - Perú
Posts: 67
Poder: 12
Maniches Va por buen camino
Smile

Amigo duilioisola
Nuevamente muchas gracias por tu tiempo y por la disponibilidad en ayudar.
Aquí comparto como me ha funcionado el procedimiento y como he podido obtener la información, claro también agrego unas consultas mas como para cerrar el ciclo de este POST.

Código Delphi [-]
procedure TForm2.btnConInfClick(Sender: TObject);
var
  CardInformation : ^WideString;
  CardInformation2 : WideString;
begin
  try
  ...
    try
      GetMem(CardInformation, 255 * 2);
      ReadCardResult:= MyCompActX.ReadInformation(CardInformation^, 20, 20, 1, 'INGRESE NUM...');
      CardInformation2 := PWideChar(CardInformation^);
    finally
      FreeMem(CardInformation);
    end;
    if Trim(CardInformation2) <> '' then
      ShowMessage(CardInformation2);
  finally
    MyCompActX.Free;
  end;
end;

OBS: Según tu sugerencia de que quizás estaba sobrando "^" no fue por ahí la solución ya que al compilar me salia el siguiente error:
"E2033 Types of actual and formal var parameters must be identical"


Aquí agrego unos comentarios y consultas para aclarar si realmente la solución esta trabajando bien:


Según el diseñador del componente el resultado de la función visualmente esta devolviendo: TEditText = '024517750292005301=22092261779080000000F'
con la solución que adjunto lineas arriba me esta devolviendo: CardInformation2 = '02'#$1C'4517750292005301=22092261779080000000F'
Cuando hago la copia del texto del componente TEditText que muestra el resultado de un app que proporciona el creador del componente ActiveX pasa algo estraño:

Si lo pego en un NOTEPAD = '024517750292005301=22092261779080000000F'
Si lo pego en un NOTEPAD++ = '024517750292005301=22092261779080000000F'

Aquí viene mis preguntas:

1. El resultado de la función según la implementacion adjunta estará devolviendo bien la información en la variable: CardInformation2?
2. Hay alguna forma de castear la variable CardInformation2 para que ya no muestre el carácter "#$1C"?
3. comparando el resultado de la función vs el TEdittext del App del componente, el carácter: #$1C =  (según nos muestra NotePad++ es un FS)
4. A su experiencia y conocimiento se sabe que la función va a devolver dentro de 45 a 80 caracteres, como se calcula el tamaño de memoria que se tiene que reservar para indicarle a la función GetMem?

Muchas gracias a los que ayudaron con su comentarios y su tiempo en especial a "duilioisola", espero ahí me puedan responder las preguntas para cerrar este POST y quede claro para algún colega que pueda necesitar una solución similar.

Gracias a todos por compartir sus conocimiento y para adelante con el foro es muy recomendable y activo.

Un abrazo a la distancia desde Perú.
__________________
Maniches
maniches@outlook.com
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
Como quitar referencia de un componente steelha Varios 7 25-02-2013 15:48:58
Componente ActiveX importardo da error jmlifi OOP 5 03-05-2010 14:04:33
Componente activex levache Internet 6 30-12-2006 05:01:11
Ver componente ActiveX piccolo2101 Varios 1 05-12-2005 09:59:23
Eliminar componente ActiveX Coco_jac Varios 5 08-08-2005 18:43:52


La franja horaria es GMT +2. Ahora son las 23:23:04.


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