Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

descobri a causa do problema
no oncreate do formulario eu carrego algumas dlls dinamicamente

estrutura da minha app

plugins
    dll1.dll
    dll2.dll
    dllN.dll
app.exe
conf.ini

plugins é uma pasta que contem algumas dlls que eu carrego dinamicamente e a partir disso monto um menu com as opcoes disponiveis na dll(plugin)
quando eu copiei pra nova pasta, essa pasta plugins estava vazia e o envio de email funcionou corretamente
quando coloquei as dlls de volta o email nao foi mais enviado

codigo de carregamento das dlls

//...
  files := TDirectory.GetFiles(ExtractFilePath(ParamStr(0)) + 'plugins', '*.dll', TSearchOption.soTopDirectoryOnly);

  for fileFullName in files do begin
    try
      //tenta carregar a dll
      handle   := LoadLibrary(PChar(fileFullName));
      //nao conseguiu carregar a dll(plugin)
      if not (handle > 32)then
	    //passa pra proxima dll(plugin)
        Continue;

      //caso exista alguma dll é adicionado um menu chamado plugins
      AddPluginsMenu;

      jMenuItem := nil;
      //em todas as dlls tem uma funcao chamada GetMenu, onde retorna um json com a arvore de menu do plugin
      jValue := TJSONObject.ParseJSONValue(ExecPluginFunc(ExtractFileName(fileFullName), 'GetMenu', false, false, false));
      if not Assigned(jValue) then Continue;
      if not (jValue is TJSONObject) then Continue;
      jMenuItem := (jValue as TJSONObject);
      if not Assigned(jMenuItem) then Continue;

      //adiciona o menu do plugin(dll) ao menu da app
      FromJSONToMenu(jMenuItem, menuplugins);
    finally
      FreeLibrary(handle)
    end
  end;
//...

algum trecho desse codigo prejudica o componente ACBRMail

  • Este tópico foi criado há 2598 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.