Jump to content

Daniel Simoes

Fundadores
  • Posts

    24,516
  • Joined

  • Last visited

  • Days Won

    714

Posts posted by Daniel Simoes

  1. Precisamos de mais informações... então vamos tratar cada caso em isolado ok ?

    • Qual é exatamente a Marca e Modelo da Impressora que não funciona ?
    • Já tentou o Reset nela ?
    • Como está saindo a Etiqueta agora, e como saia antes? (se possível envie Prints)

     

  2. 1 minuto atrás, João Antônio disse:

    Pelo que pude entender, o método original causa erro porque a posição de leitura já está no final de pBIO e quando tenta ler novamente causa o erro. 

    Não parece ser o caso.. ele pode ler de 0 a 1024 Bytes, pois BufferLen é 1024...  "RetTotal" não está sendo usado na chamada de "BioRead"...

  3. @João Antônio, em qual linha exatamente, ocorria o erro de RangeChecking ?

    function BioToStr(ABio : pBIO) : AnsiString ;
    Var
      Ret : Integer ;
      Lin : AnsiString ;
    begin
      Result := '';
      repeat
        SetLength(Lin,1024);
        Ret := BioRead( ABio, Lin, 1024);
        if Ret > 0 then
        begin
          Lin := copy(Lin,1,Ret) ;
          Result := Result + Lin;
        end ;
      until (Ret <= 0);
    end ;

    Eu prefiro essa implementação, pois ela trabalha com um Buffer de 1K, e não teria problemas de memória, mesmo que o conteúdo de pBio, fosse muito grande..

  4. unknown.png

    Se você está recebendo o erro acima, é porque faltou inicializar o ActiveX

    Para corrigir, chame a rotina de inicialização, no Create do seu Form Principal.. Exemplo:

    uses ActiveX;
    ...
    
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      CoInitialize(nil);
    end;

    Obrigado "Valmir Teixeira", pela resposta em nosso Discord

    Outra resposta semelhante em:  https://en.delphipraxis.net/topic/3738-cannot-create-instance-of-class-clsid_wicimagingfactory/

    • Like 2
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.