Obrigado EMBarbosa pelo retorno.
Bom no exemplo, tudo é feito em um único form.
Eu usei o form na minha aplicação para realizar
as transações TEF, pata testar,
Acontece que a icialização do "ACBRTEFD.Inicializar",
o processo leva 10 segundos, então resolvi passar esse
processo para o form principal da minha aplicação, mas,
quando inicio a venda através do form VendaTEF, o sistema
me retorna a mensagem:
if not (EstadoECF in ['V','P','N']) then
raise EACBrTEFDErro.Create(
ACBrStr('ECF deve estar em Estado de "Venda", "Pagamento" ou "Não Fiscal"') );
só não exibe a mensagem se eu executar os códigos abaixo,
no form principal onde FOI inicializado o componente ACBERTEFD1.
procedure TForm1.ButtonIniciaVendaClick(Sender: TObject);
begin
if StrToIntDef(EditNumNFCe.Text, 0) = 0 then
raise Exception.Create('Informe o número NFce');
if StrToIntDef(edValorVenda.Text, 0) = 0 then
raise Exception.Create('Informe o valor total da venda');
MemoCupomTEF.Lines.Add('#################### NFCE:' + EditNumNFCe.Text + ' ####################');
pgRespostas.ActivePage := TabSheetCupomTef;
estadoSimuladoEcf := tpsVenda;
EditTotalPago.Text := '0';
EditSaldoRestante.Text := edValorVenda.Text;
IndiceTransacaoTef := -1;
MemoCupomTEF.Lines.Add('Inicia Venda [Valor:' + edValorVenda.Text + ']');
travarComponentesTEF(True);
end;