Ir para conteúdo
  • Cadastre-se

dev botao

Como subir os arquivos .SO no sistema para tirar MFD


brasizza
  • Este tópico foi criado há 4798 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Caros,

Estou utilizando as funções de comunicação com a DLL para fazer a geração dos MFD porém eu jogo os arquivos tanto na /usr/lib quanto dentro do próprio path de execução que o LibHandle retorna 0 .

Tudo me faz crer que e algum problema na lib ou algum problema no método de subida da DLL, que que é identico ao que eu existe no proprio sistema.

Erro ao carregar a função:EPSON_Obter_Dados_MF_MFD de: libInterfaceEpson.so

meu código é esse


procedure TForm1.ToggleBox1Change(Sender: TObject);


var

  LibName, FuncName: string;

var

  LibPointer: Pointer;

var

  LibHandle: THandle;

var

  Path: string;


begin


  LibName := '/usr/lib/libInterfaceEpson.' + SharedSuffix;

  LibPointer := nil;

  LibHandle := dynlibs.SafeLoadLibrary(LibName);

  ShowMessage('ENTROU AQUI ' + IntToStr(LibHandle) + ' ==> ' + LibName);

  if LibHandle <> 0 then                    { Se 0 não pegou o Handle, falhou }

  begin

    LibPointer := GetProcAddress(LibHandle, PChar(FuncName));{Procura a função}

    if LibPointer <> nil then

    begin

    end;

  end;


end;      

Vou continuando a fuçar.

Obrigado

Oz Technology

Automação Comercial

http://www.oztechnology.com.br

Link para o comentário
Compartilhar em outros sites

  • Fundadores

- Experimente remover o Path do nome do arquivo... Deixe apenas: "nomearquivo.so"

- O que é "SharedSuffix" ? Lembre-se que o Linux é CaseSensitive, ou seja, o nome deve ser idêntico ao do arquivo

- No Lazarus/FPC, Tenho usado o método: dynlibs.LoadLibrary(LibName) ;

- Tenha certeza de que a Lib está em algum diretório do LibPath do Linux (apenas os .SO existente nos diretórios previamente autorizados são carregados) (provavelmente /usr/lib é correto)

- Verifique se essa LIB depende de outras (que ainda não foram instaladas)... tente o comando: ldd "nomearquivo.so"

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 4798 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.