Boa tarde senhores.
Estou precisando trabalhar na minha empresa com duas versões da Bemafi32.dll da Bematech, por ter encontrado problemas ao usar a dll versão 7 com IFs do convênio anterior ao 09/09.
Para tal, criei uma subpasta para armazenar a Bemafi32.dll versão 7 (convênio 09/09).
Após criar o componente AcbrECF, atribuo o valor dessa subpasta à propriedade "AcbrECF.ECF.PathDLL".
ECF := TACBrECF.Create(Application);
ECF.Modelo := ecfEscECF;
ECF.ECF.PathDLL := ExtractFilePath(Application.ExeName)+'bematech09\';
Se eu verificar o valor da propriedade antes de chamar qualquer função, está lá o valor que atribuí, porém, na classe da bematech (ACBrECFBematech) onde dá a carga nas funções da dll,
o valor de "PathDLL" está zerado, então não é considerado o valor por mim atribuído:
procedure BematechFunctionDetect( FuncName: String; var LibPointer: Pointer;
LibName : String = cLIB_Bema ) ;
var
sLibName: string;
begin
if not Assigned( LibPointer ) then
begin
// Verifica se exite o caminho das DLLs
if Length(PathDLL) > 0 then
sLibName := PathWithDelim(PathDLL);
Tentei verificar no código mas não encontrei nada de estranho.
Alguém tem alguma ideia do que pode estar acontecendo? Estou atribuindo o valor para a propriedade errada? Ou a classe da bematech estaria olhando para a propriedade errada?
Agradeço desde já!