Con questo suggerimento credo di aver individuato il problema:
Il file .bat viene chiamato per togliere la firma di una fattura
elettronica.
Il file della fattura elettronica viene consegnato al software facendo
il drag da Thunderbird ed il codice Delphi utilizzato è questo:
FileCount:= DragQueryFile (hDrop , $FFFFFFFF, nil, 0);
for I:= 0 to FileCount - 1 do begin
NameLen:= DragQueryFile(hDrop, I, nil, 0) + 1;
SetLength(S, NameLen);
DragQueryFile(hDrop, I, Pointer(S), NameLen);
ImportaXml(S, True);
end;
ImportaXml(S, True) è la procedura che chiama il file .bat.
Con il suggerimento di Alessandro ho scoperto che il file (S) alla
chiamata del file .bat non è presente nel filesystem.
Come posso forzare/attendere la presenza del file "draggato" nel filesystem?
Ho messo un timeout di 50 secondi sul file .bat ma non risolve.
Grazie.