Pesquisar na Comunidade
Showing results for tags 'impressora cartões'.
Encontrado 1 registro
-
impressora cartões Uso de impressoras de cartões Smart CH 51s
um tópico no fórum postou Djalma Jr. Object Pascal - Delphi & Lazarus
Olá pessoal, estou tendo alguns problemas com essa impressora. ela é do tipo que você pode gravar o cartão (contact less) e depois o imprime o que preciso fazer para isso é comanda-la para que ela posicione o cartão para que eu possa grava-lo e logo após imprimi-lo para isso tenho uma dll (SmartComm2.dll) que disponibiliza alguns comandos como: Código: var SmartComm_GetDeviceList2: function (out P_Lista: int64 ? int64; register ; SmartComm_OpenDevice2 : function (out HSMART: PHandle; const szDevice: widestring; const nDevType: int64):boolean; register; a 1° coisa que faço é carregar a dll e suas funções Código: hInstanceDll:= LoadLibrary(pAnsiChar('SmartComm2.dll')); if hInstanceDll > 0 then begin Result.Msg := 'Dll SmartComm2 Carregada com sucesso'; SmartComm_GetDeviceList2:= GetProcAddress(hInstanceDll, pAnsiChar('SmartComm_GetDeviceList')); SmartComm_GetDeviceInfo2:= GetProcAddress(hInstanceDll, pAnsiChar('SmartComm_GetDeviceInfo2')); SmartComm_OpenDevice2 := GetProcAddress(hInstanceDll, pAnsiChar('SmartComm_OpenDevice2')); end; meu problema está no usos destas funções, pois quando as usos como por exemplo Código: Result.Ok := SmartComm_OpenDevice2(print, 'SMART', SMART_OPENDEVICE_BYID); ou Código: res := SmartComm_GetDeviceList2(tst) as funções vem com retorno, só que os parâmetros out não são alterados, eles permanecem os mesmo que antes da chamada das funções obs.: estou criando essas funções como variáveis pois no sistema já consigo tratar outra impressora da marca Evolin e pra não ficar toda hora perguntando se estou usando uma impressora ou outra eu jogo essas "variaveis / funções" dentro de outra que me servirá como uma espécie de "roteador" (não sei o nome desta técnica) Código: if impressora = evolin then cmdPosiciona := PosicionaCartaoEvolin else cmdPosiciona := PosicionaCartaoSmart; Desta forma independente de qual impressora estou usando eu só chamo o comando cmdPosiciona obs2: o parametro de saída estou colocando como out, mas, já tentei com var e também não funcionou obs3: em vez de register já tentei pascal, cdecl, stdcall , safecall e nada deu certo qualquer sugestão será bem vinda